<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>get_data_code_2d_results [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_identification.html">Identification</a> / <a href="toc_identification_datacode.html">Data Code</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">get_data_code_2d_results</span><span data-if="c" style="display:none;">T_get_data_code_2d_results</span><span data-if="cpp" style="display:none;">GetDataCode2dResults</span><span data-if="dotnet" style="display:none;">GetDataCode2dResults</span><span data-if="python" style="display:none;">get_data_code_2d_results</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">get_data_code_2d_results</span><span data-if="c" style="display:none;">T_get_data_code_2d_results</span><span data-if="cpp" style="display:none;">GetDataCode2dResults</span><span data-if="dotnet" style="display:none;">GetDataCode2dResults</span><span data-if="python" style="display:none;">get_data_code_2d_results</span></code> — Get the alphanumerical results that were accumulated during the
search for 2D data code symbols.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>get_data_code_2d_results</b>( :  : <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, <a href="#CandidateHandle"><i>CandidateHandle</i></a>, <a href="#ResultNames"><i>ResultNames</i></a> : <a href="#ResultValues"><i>ResultValues</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_get_data_code_2d_results</b>(const Htuple <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, const Htuple <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const Htuple <a href="#ResultNames"><i>ResultNames</i></a>, Htuple* <a href="#ResultValues"><i>ResultValues</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>GetDataCode2dResults</b>(const HTuple&amp; <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, const HTuple&amp; <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const HTuple&amp; <a href="#ResultNames"><i>ResultNames</i></a>, HTuple* <a href="#ResultValues"><i>ResultValues</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>::<b>GetDataCode2dResults</b>(const HTuple&amp; <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const HTuple&amp; <a href="#ResultNames"><i>ResultNames</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>::<b>GetDataCode2dResults</b>(const HString&amp; <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const HString&amp; <a href="#ResultNames"><i>ResultNames</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>::<b>GetDataCode2dResults</b>(const char* <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const char* <a href="#ResultNames"><i>ResultNames</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>::<b>GetDataCode2dResults</b>(const wchar_t* <a href="#CandidateHandle"><i>CandidateHandle</i></a>, const wchar_t* <a href="#ResultNames"><i>ResultNames</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>GetDataCode2dResults</b>(<a href="HTuple.html">HTuple</a> <a href="#DataCodeHandle"><i>dataCodeHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CandidateHandle"><i>candidateHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ResultNames"><i>resultNames</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ResultValues"><i>resultValues</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>.<b>GetDataCode2dResults</b>(<a href="HTuple.html">HTuple</a> <a href="#CandidateHandle"><i>candidateHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ResultNames"><i>resultNames</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDataCode2D.html">HDataCode2D</a>.<b>GetDataCode2dResults</b>(string <a href="#CandidateHandle"><i>candidateHandle</i></a>, string <a href="#ResultNames"><i>resultNames</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>get_data_code_2d_results</b>(<a href="#DataCodeHandle"><i>data_code_handle</i></a>: HHandle, <a href="#CandidateHandle"><i>candidate_handle</i></a>: Union[int, str], <a href="#ResultNames"><i>result_names</i></a>: MaybeSequence[str]) -&gt; Sequence[Union[int, float, str]]</code></p>
<p>
<code>def <b>get_data_code_2d_results_s</b>(<a href="#DataCodeHandle"><i>data_code_handle</i></a>: HHandle, <a href="#CandidateHandle"><i>candidate_handle</i></a>: Union[int, str], <a href="#ResultNames"><i>result_names</i></a>: MaybeSequence[str]) -&gt; Union[int, float, str]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> allows to access several
alphanumerical results that were calculated while searching and reading the
2D data code symbols. These results describe the search process in general or
one of the investigated candidates - independently of whether it could
be read or not. The results are in most cases not related to the symbol with
the highest resolution but depend on the pyramid level that was investigated
when the reading process was aborted. To access a result, the name of the
parameter (<a href="#ResultNames"><i><code><span data-if="hdevelop" style="display:inline">ResultNames</span><span data-if="c" style="display:none">ResultNames</span><span data-if="cpp" style="display:none">ResultNames</span><span data-if="com" style="display:none">ResultNames</span><span data-if="dotnet" style="display:none">resultNames</span><span data-if="python" style="display:none">result_names</span></code></i></a>) and the 2D data code model
(<a href="#DataCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></i></a>) must be passed.  In addition, in
<a href="#CandidateHandle"><i><code><span data-if="hdevelop" style="display:inline">CandidateHandle</span><span data-if="c" style="display:none">CandidateHandle</span><span data-if="cpp" style="display:none">CandidateHandle</span><span data-if="com" style="display:none">CandidateHandle</span><span data-if="dotnet" style="display:none">candidateHandle</span><span data-if="python" style="display:none">candidate_handle</span></code></i></a> a handle of a result or candidate structure or a
string identifying a group of candidates must be passed.  These handles are
returned by <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> for all successfully decoded symbols
and by <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> for a group of candidates.  If these
operators return several handles in a tuple, the individual handles can be
accessed by normal tuple operations.
</p>
<p>For an explanation of the concept of the 2D data code reader
see the introduction of chapter <a href="toc_identification_datacode.html">Identification / Data Code</a>.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'discard_undecoded_candidates'</span><span data-if="c" style="display:none">"discard_undecoded_candidates"</span><span data-if="cpp" style="display:none">"discard_undecoded_candidates"</span><span data-if="com" style="display:none">"discard_undecoded_candidates"</span><span data-if="dotnet" style="display:none">"discard_undecoded_candidates"</span><span data-if="python" style="display:none">"discard_undecoded_candidates"</span></i> was set to <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>
with <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>, only results of successfully
decoded candidates can be accessed.
</p>
<p>Most results consist of one value.
Several of these results can be queried for a specific candidate
in a single call.
The values returned in <a href="#ResultValues"><i><code><span data-if="hdevelop" style="display:inline">ResultValues</span><span data-if="c" style="display:none">ResultValues</span><span data-if="cpp" style="display:none">ResultValues</span><span data-if="com" style="display:none">ResultValues</span><span data-if="dotnet" style="display:none">resultValues</span><span data-if="python" style="display:none">result_values</span></code></i></a> correspond to the
appropriate parameter names in the <a href="#ResultNames"><i><code><span data-if="hdevelop" style="display:inline">ResultNames</span><span data-if="c" style="display:none">ResultNames</span><span data-if="cpp" style="display:none">ResultNames</span><span data-if="com" style="display:none">ResultNames</span><span data-if="dotnet" style="display:none">resultNames</span><span data-if="python" style="display:none">result_names</span></code></i></a> tuple.
As an alternative, these results can also be queried for a
group of candidates (see below).
In this case, only one parameter can be requested per call,
and <a href="#ResultValues"><i><code><span data-if="hdevelop" style="display:inline">ResultValues</span><span data-if="c" style="display:none">ResultValues</span><span data-if="cpp" style="display:none">ResultValues</span><span data-if="com" style="display:none">ResultValues</span><span data-if="dotnet" style="display:none">resultValues</span><span data-if="python" style="display:none">result_values</span></code></i></a> contains one value for every candidate.
</p>
<p>Furthermore, there exists another group of results that consist of
more than one value (e.g., <i><span data-if="hdevelop" style="display:inline">'bin_module_data'</span><span data-if="c" style="display:none">"bin_module_data"</span><span data-if="cpp" style="display:none">"bin_module_data"</span><span data-if="com" style="display:none">"bin_module_data"</span><span data-if="dotnet" style="display:none">"bin_module_data"</span><span data-if="python" style="display:none">"bin_module_data"</span></i>), which are
returned as a tuple.
These parameters must always be queried exclusively: one result
for one specific candidate.
</p>
<p>Apart from the candidate-specific results there are a number of
results referring to the search process in general.
This is indicated by passing the string <i><span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span></i> in
<a href="#CandidateHandle"><i><code><span data-if="hdevelop" style="display:inline">CandidateHandle</span><span data-if="c" style="display:none">CandidateHandle</span><span data-if="cpp" style="display:none">CandidateHandle</span><span data-if="com" style="display:none">CandidateHandle</span><span data-if="dotnet" style="display:none">candidateHandle</span><span data-if="python" style="display:none">candidate_handle</span></code></i></a> instead of a candidate handle.
</p>
<p>Note that the symbol structure of GS1 DataMatrix, GS1 QR Code,
GS1 Aztec Code, and GS1 DotCode is identical to the structure of
Data Matrix ECC 200, QR Code, Aztec Code, or DotCode, respectively.
Therefore, all type specific results for Data Matrix ECC 200,
QR Code, Aztec Code, and DotCode can be queried for their
corresponding GS1 variant as well.
In the following, the explicit enumeration of the type specific results
for any particular GS1 code is omitted for sake of readability. Instead,
the relevant result names are to be inferred from the result names for the
corresponding non-GS1 code type and or be explicitly queried by
<a href="query_data_code_2d_params.html"><code><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></code></a> with parameter
<i><span data-if="hdevelop" style="display:inline">'get_result_params'</span><span data-if="c" style="display:none">"get_result_params"</span><span data-if="cpp" style="display:none">"get_result_params"</span><span data-if="com" style="display:none">"get_result_params"</span><span data-if="dotnet" style="display:none">"get_result_params"</span><span data-if="python" style="display:none">"get_result_params"</span></i>.
</p>
<p><b>Candidate groups</b>
</p>
<p>The following candidate group names are predefined and can be passed
as <a href="#CandidateHandle"><i><code><span data-if="hdevelop" style="display:inline">CandidateHandle</span><span data-if="c" style="display:none">CandidateHandle</span><span data-if="cpp" style="display:none">CandidateHandle</span><span data-if="com" style="display:none">CandidateHandle</span><span data-if="dotnet" style="display:none">candidateHandle</span><span data-if="python" style="display:none">candidate_handle</span></code></i></a> instead of a single handle:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span></i>:</b></dt>
<dd>
<p>

This value is used for results that refer to the last
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> call in general but not to a
specific candidate.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'all_candidates'</span><span data-if="c" style="display:none">"all_candidates"</span><span data-if="cpp" style="display:none">"all_candidates"</span><span data-if="com" style="display:none">"all_candidates"</span><span data-if="dotnet" style="display:none">"all_candidates"</span><span data-if="python" style="display:none">"all_candidates"</span></i>:</b></dt>
<dd>
<p>

All candidates (including the successfully decoded symbols)
that were investigated during the last call of
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'all_results'</span><span data-if="c" style="display:none">"all_results"</span><span data-if="cpp" style="display:none">"all_results"</span><span data-if="com" style="display:none">"all_results"</span><span data-if="dotnet" style="display:none">"all_results"</span><span data-if="python" style="display:none">"all_results"</span></i>:</b></dt>
<dd>
<p>

All symbols that were successfully decoded during the last
call of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'all_undecoded'</span><span data-if="c" style="display:none">"all_undecoded"</span><span data-if="cpp" style="display:none">"all_undecoded"</span><span data-if="com" style="display:none">"all_undecoded"</span><span data-if="dotnet" style="display:none">"all_undecoded"</span><span data-if="python" style="display:none">"all_undecoded"</span></i>:</b></dt>
<dd>
<p>

All candidates of the last call of
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> that were detected as 2D data
code symbols, but could not be decoded.
For these candidates the error correction detected too many
errors, or there was an failure while decoding the
error-corrected data because of inconsistent data.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'all_aborted'</span><span data-if="c" style="display:none">"all_aborted"</span><span data-if="cpp" style="display:none">"all_aborted"</span><span data-if="com" style="display:none">"all_aborted"</span><span data-if="dotnet" style="display:none">"all_aborted"</span><span data-if="python" style="display:none">"all_aborted"</span></i>:</b></dt>
<dd>
<p>

All candidates of the last call of
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> that could not be identified as
valid 2D data code symbols and for which the processing was
aborted.
</p>
</dd>
</dl>
<p><b>Supported results</b>
</p>
<p>Currently, the access to the following results, which are returned
in <a href="#ResultValues"><i><code><span data-if="hdevelop" style="display:inline">ResultValues</span><span data-if="c" style="display:none">ResultValues</span><span data-if="cpp" style="display:none">ResultValues</span><span data-if="com" style="display:none">ResultValues</span><span data-if="dotnet" style="display:none">resultValues</span><span data-if="python" style="display:none">result_values</span></code></i></a>, is supported:
</p>
<p><b>General results that do not depend on specific candidates</b>
- <i><span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span></i><b>:</b>
</p>
<ul>
<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'min_search_level'</span><span data-if="c" style="display:none">"min_search_level"</span><span data-if="cpp" style="display:none">"min_search_level"</span><span data-if="com" style="display:none">"min_search_level"</span><span data-if="dotnet" style="display:none">"min_search_level"</span><span data-if="python" style="display:none">"min_search_level"</span></i>:</b></dt>
<dd>
<p>
 Lowest pyramid level that is
searched for symbols. A pyramid level of 0 corresponds to
the original image.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'max_search_level'</span><span data-if="c" style="display:none">"max_search_level"</span><span data-if="cpp" style="display:none">"max_search_level"</span><span data-if="com" style="display:none">"max_search_level"</span><span data-if="dotnet" style="display:none">"max_search_level"</span><span data-if="python" style="display:none">"max_search_level"</span></i>:</b></dt>
<dd>
<p>
 Highest pyramid level that
is searched for symbols. A pyramid level of 0 corresponds
to the original image.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'result_num'</span><span data-if="c" style="display:none">"result_num"</span><span data-if="cpp" style="display:none">"result_num"</span><span data-if="com" style="display:none">"result_num"</span><span data-if="dotnet" style="display:none">"result_num"</span><span data-if="python" style="display:none">"result_num"</span></i>:</b></dt>
<dd>
<p>

Number of successfully decoded symbols.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'candidate_num'</span><span data-if="c" style="display:none">"candidate_num"</span><span data-if="cpp" style="display:none">"candidate_num"</span><span data-if="com" style="display:none">"candidate_num"</span><span data-if="dotnet" style="display:none">"candidate_num"</span><span data-if="python" style="display:none">"candidate_num"</span></i>:</b></dt>
<dd>
<p>

Number of all investigated candidates.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'undecoded_num'</span><span data-if="c" style="display:none">"undecoded_num"</span><span data-if="cpp" style="display:none">"undecoded_num"</span><span data-if="com" style="display:none">"undecoded_num"</span><span data-if="dotnet" style="display:none">"undecoded_num"</span><span data-if="python" style="display:none">"undecoded_num"</span></i>:</b></dt>
<dd>
<p>

Number of candidates that were identified as symbols but
could not be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted_num'</span><span data-if="c" style="display:none">"aborted_num"</span><span data-if="cpp" style="display:none">"aborted_num"</span><span data-if="com" style="display:none">"aborted_num"</span><span data-if="dotnet" style="display:none">"aborted_num"</span><span data-if="python" style="display:none">"aborted_num"</span></i>:</b></dt>
<dd>
<p>

Number of candidates that could not be identified as valid
2D data code symbols.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted'</span><span data-if="c" style="display:none">"aborted"</span><span data-if="cpp" style="display:none">"aborted"</span><span data-if="com" style="display:none">"aborted"</span><span data-if="dotnet" style="display:none">"aborted"</span><span data-if="python" style="display:none">"aborted"</span></i>:</b></dt>
<dd>
<p>

returns whether <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> was aborted. This might be
caused by a timeout (see <i><span data-if="hdevelop" style="display:inline">'timeout'</span><span data-if="c" style="display:none">"timeout"</span><span data-if="cpp" style="display:none">"timeout"</span><span data-if="com" style="display:none">"timeout"</span><span data-if="dotnet" style="display:none">"timeout"</span><span data-if="python" style="display:none">"timeout"</span></i> in
<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) or an explicit abort (see
<i><span data-if="hdevelop" style="display:inline">'abort'</span><span data-if="c" style="display:none">"abort"</span><span data-if="cpp" style="display:none">"abort"</span><span data-if="com" style="display:none">"abort"</span><span data-if="dotnet" style="display:none">"abort"</span><span data-if="python" style="display:none">"abort"</span></i> in <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>).
</p>



<div style="text-align:center"><table style="margin-left:auto;margin-right:auto" class="table">
<col span="1">
<col span="1">
<col span="1">
<col span="1">
<col span="1">
<col span="1">
<tr>
<th style="text-align:left">
Value </th>
<th style="text-align:left"> Description </th>
</tr>
<tr>
<td style="text-align:left">
0 </td>
<td style="text-align:left"> <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> completed  </td>
</tr>
<tr>
<td style="text-align:left">
1 </td>
<td style="text-align:left"> <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> was aborted by a timeout  </td>
</tr>
<tr>
<td style="text-align:left">
2 </td>
<td style="text-align:left"> <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> was aborted using
<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a> with <i><span data-if="hdevelop" style="display:inline">'abort'</span><span data-if="c" style="display:none">"abort"</span><span data-if="cpp" style="display:none">"abort"</span><span data-if="com" style="display:none">"abort"</span><span data-if="dotnet" style="display:none">"abort"</span><span data-if="python" style="display:none">"abort"</span></i>
</td>
</tr>
<tr><td style="text-align:left">
</td></tr>
</table></div>


</dd>
</dl>

</li>
<li>
<p> Data Matrix ECC 200, Aztec Code, QR Code, and Micro QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_labels'</span><span data-if="c" style="display:none">"quality_isoiec29158_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_labels"</span><span data-if="com" style="display:none">"quality_isoiec29158_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_labels"</span><span data-if="python" style="display:none">"quality_isoiec29158_labels"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_labels'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_labels"</span></i>:</b></dt>
<dd>
<p>

Labels of grades for all tuple elements returned
when calling <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006"</span></i>.
</p>
</dd>
</dl>

</li>
<li>
<p> Data Matrix ECC 200, Aztec Code, PDF417, QR Code, and Micro QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'pass_num'</span><span data-if="c" style="display:none">"pass_num"</span><span data-if="cpp" style="display:none">"pass_num"</span><span data-if="com" style="display:none">"pass_num"</span><span data-if="dotnet" style="display:none">"pass_num"</span><span data-if="python" style="display:none">"pass_num"</span></i>:</b></dt>
<dd>
<p>

Number of passes that were completed, see also
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> (Functionality of the symbol search).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_labels'</span><span data-if="c" style="display:none">"quality_isoiec15415_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_labels"</span><span data-if="com" style="display:none">"quality_isoiec15415_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_labels"</span><span data-if="python" style="display:none">"quality_isoiec15415_labels"</span></i>:</b></dt>
<dd>
<p>

Labels of grades for all tuple elements returned
when calling <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span></i>. The labels are different
depending on the type of the evaluated data code symbol.
</p>
</dd>
</dl>

</li>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_semi_t10_labels'</span><span data-if="c" style="display:none">"quality_semi_t10_labels"</span><span data-if="cpp" style="display:none">"quality_semi_t10_labels"</span><span data-if="com" style="display:none">"quality_semi_t10_labels"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_labels"</span><span data-if="python" style="display:none">"quality_semi_t10_labels"</span></i>:</b></dt>
<dd>
<p>

Convenience value labels of the elements of the tuple returned
when calling <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> with
<i><span data-if="hdevelop" style="display:inline">'quality_semi_t10_values'</span><span data-if="c" style="display:none">"quality_semi_t10_values"</span><span data-if="cpp" style="display:none">"quality_semi_t10_values"</span><span data-if="com" style="display:none">"quality_semi_t10_values"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_values"</span><span data-if="python" style="display:none">"quality_semi_t10_values"</span></i>.
</p>
</dd>
</dl>
</li>
</ul>
<p><b>Results associated with a specific candidate - one value results:</b>
</p>
<p>Results that contain exactly <b>one value</b> and hence can be applied to a
<b>candidate group</b> or a <b>specific candidate</b>. Please consider
that some of the following results will only be meaningful if the candidate
could be successfully decoded (see <i><span data-if="hdevelop" style="display:inline">'status'</span><span data-if="c" style="display:none">"status"</span><span data-if="cpp" style="display:none">"status"</span><span data-if="com" style="display:none">"status"</span><span data-if="dotnet" style="display:none">"status"</span><span data-if="python" style="display:none">"status"</span></i>).
</p>
<ul>
<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'handle'</span><span data-if="c" style="display:none">"handle"</span><span data-if="cpp" style="display:none">"handle"</span><span data-if="com" style="display:none">"handle"</span><span data-if="dotnet" style="display:none">"handle"</span><span data-if="python" style="display:none">"handle"</span></i>:</b></dt>
<dd>
<p>

Handle to the candidate.
This parameter is used to receive the handles of all
candidates of the specified group.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'status'</span><span data-if="c" style="display:none">"status"</span><span data-if="cpp" style="display:none">"status"</span><span data-if="com" style="display:none">"status"</span><span data-if="dotnet" style="display:none">"status"</span><span data-if="python" style="display:none">"status"</span></i>:</b></dt>
<dd>
<p>

Indicates whether the decoding was successful or why the
processing was aborted.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'search_level'</span><span data-if="c" style="display:none">"search_level"</span><span data-if="cpp" style="display:none">"search_level"</span><span data-if="com" style="display:none">"search_level"</span><span data-if="dotnet" style="display:none">"search_level"</span><span data-if="python" style="display:none">"search_level"</span></i>:</b></dt>
<dd>
<p>

Pyramid level on which the finder pattern was found.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'process_level'</span><span data-if="c" style="display:none">"process_level"</span><span data-if="cpp" style="display:none">"process_level"</span><span data-if="com" style="display:none">"process_level"</span><span data-if="dotnet" style="display:none">"process_level"</span><span data-if="python" style="display:none">"process_level"</span></i>:</b></dt>
<dd>
<p>

Pyramid level on which the candidate was processed and decoded.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span></i>:</b></dt>
<dd>
<p>

Polarity of the symbol.
This is the assumption about the polarity that was used for
searching the candidate.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span></i>:</b></dt>
<dd>
<p>

Indicates whether a successfully decoded symbol is mirrored
or not. For ECC 200, PDF417, QR and Micro QR Codes
<i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i> or <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i> is returned.
For Aztec Codes
<i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i> or <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i> is returned.
For candidates that could not be read, the parameter returns
the mirroring specification of the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'orientation'</span><span data-if="c" style="display:none">"orientation"</span><span data-if="cpp" style="display:none">"orientation"</span><span data-if="com" style="display:none">"orientation"</span><span data-if="dotnet" style="display:none">"orientation"</span><span data-if="python" style="display:none">"orientation"</span></i>:</b></dt>
<dd>
<p>

Indicates the orientation of a successfully decoded symbol.
The orientation is an angle relative to the orientation described in
the figure below.
The angle is positive in counter clockwise direction and is given
in degrees. It can be in the range of [-180.0 .. 180.0] degrees.
</p>
<div style="text-align:center"><table style="width:60%;margin-left:auto;margin-right:auto" class="layout">
<col span="1" style="width:20%;">
<col span="1" style="width:20%;">
<col span="1" style="width:20%;">
<tr>
<td style="text-align:center">
<div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="128" height="128">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 YII= " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
(1)
</div>
</div> </td>
<td style="text-align:center"> <div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="128" height="128">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
(2)
</div>
</div> </td>
<td style="text-align:center"> <div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="128" height="128">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 QmCC " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
(3)
</div>
</div>
</td>
</tr>
</table></div>
<div style="text-align:center"><table style="width:100%;margin-left:auto;margin-right:auto" class="layout">
<col span="1" style="width:50%;">
<col span="1" style="width:13%;">
<col span="1" style="width:37%;">
<tr>
<td style="text-align:center">
<div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="501" height="128">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 AAAASUVORK5CYII= " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
(4)
</div>
</div> </td>
<td style="text-align:center"> </td>
<td style="text-align:center"> <div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="366" height="128">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" IGV4aWYAAHjarZtZkhy5ckX/sQotAZNjWA5GM+1Ay9e5yCTZ5KOemWQiu8liVWZEwIc7OJDu/Nd/ Xvcf/Gqxe5etttJL8fzKPfc4+KL5z6/P38Hn9+f7Vc73q/D7992P9/jItxJ/p59v+Lx+8H379Yaa v9+fv3/f1fW9Tvte6PuDHxdMunPki+/r2vdCKX6+H77/dv37vpH/sZzv/zHF833T52Z//DtXgrGN 66Xo4kkhef5sekHS/zEN/k7vz8aLQip8nVLnT0vp77FzP7/8I3jW/x47P76vSL+HwvnyfUH5I0bf 7wf7e+xehP75ROHHl/H3H+QVrv/nr3/E7t7d7j2f1Y1ciFRx30X57yXeV7xwcqlPNAq/K/8bX9f3 u/O7scRFxjbZnPxeLvQQifYNOewwwg3n/b3C4hFzPLHyd4wrpve9lmrscSWlIOt3uLGShu1SI0uL rCW+HX8+S3j37e9+KzTuvAOvjIGLhZfZP367v33z//L754XuVemGoGCS+vBJcFTp8RjKnP7kVSTk mwa1SPjx2/1M669fSmwig/bC3Fjg8PNziWnhV22ll+fE68xn5z+tEer+XoAQcW/jYUIiA76EZKEE X2OsIRDHRn4GTx5TjpMMBLO4g7vkJqVCcugG7s17anivjRY/3wZaSITRKJXU0CgkK2ejfmpu1NCw ZNmZWbFqzbqNkkouVkqpRRg1aqq5Wi211lZ7HS213KyVVltrvY0eewLCrJdeXW+99zG46eDSg3cP XjHGjDPNPG2WWWebfY5F+ay8bJVVV1t9jR132rT/Lru63Xbf44RDKZ187JRTTzv9jEut3XTztVtu ve32O35m7ZvV37MW/sjcv89a+GZNGcvvdfVX1vh2rT8uEQQnppyRsZgDGa/KAAUdlTPfQs5RmVPO fI80hUWyFkzJ2UEZI4P5hGg3/Mzdr8z927w5y/+rvMX/KXNOqfv/yJxT6r6Z+9e8/SVrezxGSS9B 6kLF1KcLsN1qm8L1s+4UgYu1V49kkiYeKeZ+c8hrE9A8y7ax27pl8ZQtTaLRim8pl+H6KDmMsXuf pa/pbfGjNTeIxSKPArvCyDY6349rz3YOMTwj7xLuPLfsnXrc7qbZt+/mbwm79nOBCHqxnj7OIb9l nbMogRziypdasTQ6GFk6iQNX2yC3Ow83Yz/HXws2+zo13BP6bSOd0G4oZ/Z0KALbhHjXFFpcLKHN MtYgN90SwavLipu867LkkW8DbSs/VJT5d7QlsC6TR4Y1ChH1r5covdsKt4rjjAlIt1CuK8eGb32u Sf0BLqGVSEXXdqGJfloc1AwpLV3EcIGgsyOB3+mQnFNmhLd7OLBITmWvk+kOFqua840UX9Ll9bgU 0uXqbc0xCEycc3lj7Z5kD2op8Q6C6qiveoPVFffhCYNfdcQzak3UwgZH41mdYOXWwunkjGdd1MLY RFbYTQfM47sjYymPnTJFGg5FeWMeNa7DBXtqJ04yGfKF5q4/t03uzBrnrOuyqHjo4M3/bgG1K9RR alsNTXKgME9n3bQs7JmMnmgjBoMsjW8CGeiSu8bsRH3Ulc/1uza3ppH4TXPy3L3ttfyw5XtJu8Vs Ahua8ZDOQwJ7aEpT6b3yd6/XlzxHXC26FY366SvWfXu01jedWFKzdQn9PoMYHr8u/1Hh02+bC06J RlNmKqywDsCpIf1a2JDiQLJdi4BNP8jANEkBK1yTXPh8OjduZQYKbKR5XhQ6GVmN3kOXLEd+7QQy rJwQ2g0fcdc8el6dKulU1SFQUY0QuCd91NWCKq8r6mWFVqobXe08KArSGMcckzf5sikXgNQiwQFi IMoM3ua9Kysz2mD5OwOYsOIddqCjxGVrTjWgSWZsmbitHFL3qQO8AYUJRPtAMQGlQUWdGvDBg69r uQVILbBqc6VkK2E1T5W1BKrtEeriiXjEe+IrOsQRIcp5irEzgefGsUD5bcZTe7FV0ZAUaFVLWB2H 4BUeou5AH7BebEEnbZQdeHW5JeqoUyzrpFilkivY1PdJdh2Vll569QizJptzL2T5GFxh1DB7p0gr VcVF7+k3lTY/QfZgFv3MZfuszrjvSdKCDVdgrRIZ1F5jtREspcqHGATg3mnSHVQf5QRjpAqmzgTf wGwQJOznX1oJELk7KiMUpRDw0rFxR9psDlYQaOJFHUICgoA9YUCeFtg81LHzCCPCwxt5TqB5nE5V jLZ8aMTU8BY8qyDeUN5UyrwJwOWveSADsPDCVHe6xfuiiIvV5g49njYGHQRkF5pii3NXujwpIR8J hLCux6FK+R7fIJyghHdLTRFsezBokHsAH4SmOim9cHsvQuqZWWQdg54aB+wC8WCabCoNKh1Y3y7S 7zdt+AzSzIe+N/RFDLnIdvizCyAiyDxcSvh+oAn6sAFPFEa15OdmtS7HkmHUK0uHQK+oyUpFkR6A RPg1uM1sMMM8pKuTB6n7TM/ZqRXYAMGmr441A9skGzKEPyhvHnZgZVApa6r9yeJp1JqYNlFcpPyC ahW6GD7vg24iLLIQi4WmemJQwEU2uFzyYGBWLpMyIh8EJ3LnjPLxwNyhIbBT0gue+oKWXSONoYvV 442Bsk4FaoWUqc/V8TBBYOxflR6aGOpRD5OZfEanULbqZQ/Jmpt8H5t8elrtJJ54EvEkUB8LVKGa ySYQRDMXqn3CamAj2U5IgM8f0ZVxtywu7E5ceBKEES1aOiEFvEOFV1ZDji2QRULoTiA8gVtV1EQG edZ4jrN0tklC0VCHTDQ6B+yu/FVzaMJveBQxlwrrDxJSq5aL8I+JzBXosUzfqpvlAqhQb400zalI jN0qEHdRktzglmgqpMt34BgWn7fkDmwCn04yEQ7ScjtUgCg4w4N08t6H25mgAeQwygGOkn5FUFI7 C9BvEpvwNemreSyqG+As2VFpFXa/Gg0gR5B2E3pG8qUtZ6guBW470mVruf62vir3RGuAC1wfeSiH 5HigeQvdBWZBL6r+RfTzhqCpxXjBl1WrIItEkgHgDBAWR8pyUnNymDc6Kcs96laJ0HTUAVS/px65 V2QOKukjnFrcBU6eOIG4EOrzdrAFoR8UhuN4kSpbCKRk0OYJ9bFSIDxoShiqeZsUIKU6cnvQgU9G Px9ij9gP3UOhw6mtK5JCSshQ/HQ4znQj09ExaJqMVAkEHNnfekb0IA5YqERpnM0IWUIVpeWsSi0i 4r1qtyAEyi4VnZvAxBEQyxWxTn8EwZqnstu5dk4QGgM28CFeIpsDWPQmb9TgArmnAHfVDWNsnnnz bTiiyjtDVveAVihSUElXXahjyTQENu4o4PVLDBBD9WjhSJWRdZ4KFMow2GPNp0bqHfRLjqSuQO6+ sq6MzDwzL4fIx7LYjVQ7eYT2FxX5MB75iQxqxAtQVJ7ACyNKYSbS8HoTNIaphtQIIJuWZkU04Flb ItDonbFOqIjUhUuDqhE8dHjmmtiRhrl6M5BGqdnr7FYcYkEoiL/DYTTNEvYcViAKrog4hfVTJmvI NcyrlFTSNweuBxU+cSuTel/NFUN56Cl5otomQIkTGzwkvAy+Ut9gGUiE9++8kETBpiBJ6Kl6glEp o1ltOa150VXjZqQREgDXMwK0putNKU1yMaW4CMHwWHZgEQq8Pg0M7OTb4MhIrmfswUtb+uQ8a5LD k+2Ny0AEpdsNAvZqM5zDEyv4BwJ2AUU00LvfdFXRaAt7Ci8A/jOgWkhdkmigRAYhQV1hOPEexJna Yb1oNBRHz7Q5spcyhrLJM0BEMCvWNcJn9G7GrVS6odJ58NA2ejYh/Xa+OGXwLBxIkaQjI+lRbFRy iYJv2I5ylNGFj6iTlkBwwWtLpbRQ2JRf83uj2xXPLaWVEBCYHB/IMMDgwqgU6w9XkYZcAmVCV+Bo cJS54Lqxaz4VGVkeE/WFjcIO3KxfpNgABYduEbObfWaEGy/Hr5DjQGGajK1/KuCI4hACGAhsA6gj oRYQ1hsbTq07CBVqkfgCx1H82JI5PSATycLT/CsnaZu2ISbsBjmDDNCNs0KboqQTdwsOggMoWfPQ 8pKAi5WyTpCmX0nLQauQmqufF9xXbqK6G0l/BZa44JKIaGfS6vzLBrapFaLNrXJOqlQMJ00NR68O BslZLEIv3L0IWcXVNDwasLIjEFAk4vkQ0rkoq0zJF5JH06yOG52AudXy6qCcOz8uB9lhtjN9bXOT Rpfli7NGoABbydAyWEjCYIq8pcyDVD+FjKGWmTgjQMn4F01iKrY+Srv24uBFzAdl0jQHgGFQpwj6 wCJ4HoIBFF9QaZnm13gxYGKxHi0stCaiTzO07SbGsorWITdcKNiJcPNUO2h3UMKZK/EVz4CgAd2R Vy2/Fx+adCbcIcGe17F40WihPmEnhDPZej2J/MBhFnoNK7iPWn6qpS9cgs7amsDQQ0s0v7NH+mGy FrZgFJEqygflvI3elHShODx9C+ZocIHMhk7Q1aQJv5JEx7gKOq9fN0jg0tqm0IMWIEsIJ2zmxZig 2RZQeqKSJgxDEJ0dEDC4+dtZIo4jTySzIxMy88A5nmQLz2BLHrhRUgjqoRqOyFR0BEWIToeUWT2h ww+Q+/deINiBXJ/BQxwS4UAO7B+XBPFSZUNJ4vgpo7RSQdNndEEC6YhynxMFRdjmdgmg4FmpXnqx KU4oFcp7S+LtBImWsgV4uCFqDmxYUD5RptRTMEquou9Wd1TteCN8pNtZWDQZbOQEVV7w9lsapwzj LVzbQ/QINYkd7uFFMvUiNzfcj44tQB5QBPZQKg2viEaoB3WD4hhUAs9OHbMGvA5fIhJKRfqhOyYE ykqofHMAI8gHf5hYWvdHQW+QENih4qmlqKDXUqpik2i7oREjzYOzzI3GQV6W6OrQMC/ZWwOeOTzf l8sTm5OkUNeD0JwdY4dE0WgLpUUfkVGuvTUrwFtiITAUfUhKHYwCHV2IMMiCJSdj8KpckedeaPqJ l0FNJdCsljUtbXJ9oPh+3IoFUbFjaRetADaHKCQA89Apz31PxAP2ZmfgD49BtXcoEbUDOqHV5Ye4 opNeoMlwPEhJKo3iZfHcXbPLRo3SmHj7rRHIXk/nTKtIi6vJEMXjKTOMr1uQuJBpU3ebFfQZVxm+ 6QE1C+5pCxS8bMDQjBvdiKxB8Kqd4mka5aZiDtUqH19044JkPFQU6DER8FVOXvi6TdPWiMviVf19 DSqrbBFd0jthRQfrqEnHUicL9Cn5JKoMEbUkPxw0lOMqwCdxsSz5k9ZWM0GAyhys1N28G8nWKVxN iK5KDaAmerhKdLqGGv20PmRs5AkzigCLhEWjmKS1L0jdLDhyREsDN9qTyTSQzFd9I4hJE7WqFryU BfVCR4jl2qU0oKTCvQ3oaVlzSItkSOV6vFBfAzHJ945qAJuv4G5jmxESFRxLQZa5qKoNskIdb9EE texSjJSxhoBoEdTC8HotqLlZFUoTHrYNSld+I/2pdh97laNL2mPDkbMAuhPKprYKEFh9lwuXTqSg P8MIKBjS6TLLwBtuRr4xY0wzhUn+sga+aCFu7yjEsRAiWhgMi+RJFKLX1M1jXlgeerAKTiFFPBq2 AVge/ATTEyEuuWdK3OHaWFTDQlJuFPsJLArFA5uCFOACugGrJ0ABpuBvrOYqNBeq9AJhOOUpE+KA C4BF8y0pPxr3RhCIqyO3kJcjvGCwUKQcd5tL/YdGYcErauRdNJ3I3UF+NOXRm6aGrpjjuRbZ3uQp YDoTahjcWTh8CuJgcjGptzSpoKdTCsvteJEqD9ZAigmRgqrX3oQgXHGBJm3rIZyua1tI9fx2H9o0 KLAeWAnsbZaGfhETI0p5ONAJ/L+kI6DoYIcd0MCRddKrBTILh6BBlRoFD/BfWCWT6zR/30g6KmMl 1fyS5DE/ZfCpGzEsSskOlK39iqS9Sj2soJBf4YnAYY7sRaxrM+DGND6iwo+8+nqDOiwUDBm+DV1o HkqeDslgHMBzUAYg8anR4XTUFnTWLnuksZrcKiilDsCIy6gQRtb7AgYFlNHe+N5K5xqT6swlJowf q8oymAGkz4SBqEm3YxD205U4UmSKCbdbi5pGhz5HLKBGQgJUzXIalP05ZrC0p0CVKmEIZNq6aKWJ fgD+tCWEOIFKBmQSwFiBmV56DQ+JIcDTTtsaxRLcXFBZMlE20YZxoQ+mNlNpOeyOdQVKGfbaliL3 Fj9jB9YYozP8DOKet0eJ+3Ayzxq0jSCMhWVh3auQxNLXm8VlogXdDSoY8KSTGxjrXRM3IV0phfy2 GWq8aGSYt2rrCl7UXMBw58iWN+xVYvob4QWWIXf4rCh2Mm65oZNMk7EcjwaRMiHhdRk8hzL1D3iv qVxpUjy/5uCHux/9jc3SlJmSR575CMpKBCmDaLYu/MAxymWTAwhDGgyfdzR9IVKBbEN9oI3fB+kH HfVAax4NgUPs6k+wYEv9SFBXL7qaGpfYlXLm+kUuYomht0cfonBc8m9/XltiwHZ5tK0xKx7kqIJI DAA+liZ7W82WmxwFxZnfQL0AHpr8ORZ8KBVZerqRVVHgOv5ATQiBtLNIM5s8OiiQqkqaLG6NAhCG dBlQAtc6ANPe5Bg85jLQLQmlBBKIsujmUbUHUCUwlWt84tamaNe7axKZ59OkRo5/mNvkH6D2ZdHk N/Ru7cwtTSChk6QWB2yrdjDOPkjEoOdVf9T2DqDw9qTGaCbxFslf1jNrUA5bQq2F0jjaVUVfaXuR PqRUFwrwah8gY+hWHI4l7ykvjFjEdUN7+ag+AdZYTsbBYtGo967dAzVXBAIATO1lwioymEGTU0eP l4Ceo8FGe2NGMORi1iSCQc44NOcHBDU2qMiEhGeL482HwTodSAEuqneYdk29CQnVhd+FElSUpBTe TytqCj0rVsh4rnQM6NEm/mrrMwM/fmh/ffNECBNwWcQ/xWUeyQUG9kHlESjNIho6VGOhpX0gJRW9 JR9I5YBOmARK20HWQATGQyR4L3wQstwAskxDS96ZcDhE8kgNEawkSqPbaDptDT0ovyM5HDK2sYCu TcmOnYKSkIGhAoKEx6eWxCqe4sETgP6Qtja3YRfWugN4hJ5xKAdoj6SsN43j7qjgR234IqjUz7fv hnLhJ5HqxxpAO7ux4Fb9218NpIZgL42v8M5TLYMABC8xF+jXrakumgAp0ovElGwcgQXxEI7EizoW 03iNmN3rgzdGByGwWOAnen8DV5PKQTIMlIdIrmrAJooC4W+LV9IYf4PNa89ljwBkBOERudZ+dw8i dpqPh4b02nkbZ0Ei9dCLuQ0NMpJmKs1rggIZ8uTu7TMTBe38Fe1+YB4KtfoG7trPApdKxK1PNJLX LjdchbYVhNS2PNUL7OzpDFfW0tAMibxpBzvWejvWWwNZfKo8j2KPfsFRYWnhGQSLBhkIw0JngNA5 u0CuWSTG/0lL3QDBiOqFyWUnT9JsDL+g3p6a1HhtfaRaqLDgy0LD6/yQ83K9SDCSW4umFPTK1jgK 4YX+k2ItEDzx7CCMcHje1TNebO1GlrWDSBu2N9C8wvR+UCe+FHDVBLLABGEfco4JqdqhJe3SPO8E ClELC1uqHEhJHYeyPArfOh8dA5p7CDBowMEttXkmkYncL5MYIAXeUpcnGJLF8DQgcmHapn0HxDZu yacq/wMfHO2YShVBEEvib8WuL4ATabagszoF7RDe5gwtmNzWrmwP9U1fNImJlvBOHVcIyKKckVQL IZyVwEin6/QEnLdr+Uwm7aqD0dnkTycqiA2WSMrdYP01MFp4TRwbwDt45jWmZJWHpJKX1RioBFEG +pSyqY5/I4q02kD0eL+ciWzysUsSAGA6BJQn5Ut+DZmCO1gTu42uQy0fjQhP1lHPAEISbhhcGhiT 1zTCIlqUrs4wQKYHGRMo+Kz9Y80eYBgt9KSWtEPRrxNfJuwlrKJjFh6ck28DSXMRjk8JgkVtxfXZ sCfBULavN76hCqY3I8S2k7KUwDVtKw4NHBpSyDfpau0B+Ffm6HD88wKJKPyKDNxh6wDUNBmijEJ1 eIaUe/VyChguiUDB0pToPrQI2dYJG7pcZ0XG27GA94N1jDnqZHvEoc3OE2GdVFTaVRm48Tu7NaFl Z/EKwJurcnPElRxXuDpoQv3K30PrUoceL3JKtphJh3VtjhMlFavOK2iv6p2LQOVHMcbUqIQOgTXI C6mHQl/xNu3381705vOM2joEh8hs1c4kGudObYlvnDE6TbsKK72cz9hVYuud+dBBhVjdKzGQFWnX TIdOYFbt7Z2MKseonWOoQx3JTIXANJ29gS3gkAx+IVYulnKN6DTqkzmMeBhhbzNt4g+qri16cJEC 0lc/Oc9es2iY3+tki+bUP861HrdfywWRZpvTf44l9aT73JmDh0Q215t+TFDWJj3aLzAU3jwW9WzI hrBxRzjKpsHXwFIVmBDRi5CmEskeirwSWJ3/eE4hSySAI5b0llblXItY62wn/4TYAKxhIbihX0Sb LUpKUQFWDoquGkzHi1g2q6d6tX0yDvCMDELnmi03pnbjr46w6FgAaQCqrUdsoGg541MHuTg6aInH 6tAb3YT8137029KzCjo0hyXbXZOLbHIlPGVbb1K6+gxI9Q4iZ5XHmwJoX3BI58ofZ+KOkAXaUWPa hTjvtAQRTG8Xmj5DwAlYKJV3vIBwBETn5laUqlp8AGO0xILGZTdCOYiIWjSqwqZhv6AkSlWaskND oKWG/ktnnMQONGenmy/aqaag4p8z6TTAxvcPORVuwBNrjrJ0DgUGVmAKsgcG2eUUbYRiEJZcrXpR U1hsC4SKROuS9O7K8pI5VlyOwIbb0z00+Lln6tHAx6kRg/abgI4zaRzUF/esGtdq15ZGd+gsylgH A+vrlHPe8F27JmNGXk0RoniNkhQbExUMvaq7PZsauxx7SNehYZPBC1uHhUxn1LKmHDGqojSu6+vt R6DUka0aD3JD0I3nvM8kH3ng0FzkwSGfDyJoi8VLcyPqiXt+A1dYPmh8zqOKNRC+RUeUkdUbC47x R5hcnYeky4zC8Tq3Ai1h2QlJlmKgkWTlQMu7tE2DAFlF2xRVzjWpgafQUWcSXQ0ILyCmPt3MpbWT BciiSDW/rUF0wb9APsyPZoXof42JTZvukB0JloJzGrjmV9Y0+5aph3joeORm6MqZxtjpvRudLSfw xKp2lsCwTbuilZJsVpH4C1TOwe3jKiFFbR0AdDpSgt96mI34b49FCTdSQkc2V8LEb2QqHZeL08lC iPPH5FE2eejsEMCusxoBXjHpIPoe082C05vFTa2UC04jQCB8wGVrTJoGxXTQr5W4YZ00AWGx1Og7 aYKIgHSBggGzGfkkDPj+pApp1Dui2HEVlGUS6EmBvi0W7rZ1znRh1XP1cuf6iIMOvEEzAiZ+nAE1 lGrSvSrST1PXYhaSZJUmzDh5bkcv7Gil4eV42iCdjh/foeuID9WhYw6a/olXnl901CuLRpvswANO VNfJ7R3P6NoGeAIRgdQnUP3dA0TDwoZTvY4ev+AC+XGUm06e7VurTtzpoFBFKXx2sLxsESYFuxiP 9oyDDv7s01CBOqerFQ58Ta/ZxaGDokOTI22Wa2fJeDhtrp+1mvRhfee5wCOqUNue1CQIEeUSNhXD U1IgDt2FooQuMjdQe1+dMnvHAgCFvvGMSAfNVbSTIbJK+ep42anPJlD7gxQHN7B4C4RGggMjC4gD 9w+/lif42gjZb2wo2V0lblSO8VNnOpWoI/sLHeRmxBpHqj8mHZEbL0D8LFfNr3VobNkeQ4eWAZKW XjFdzermWjqg2Tf2I0wUG468SwytNHU6q7aiB0qfbWlw7moDkLqPcAJYgCPS9nPC9unM7oaA0pkN vzafxPU62ey1/AByo9GPBu1Nkz3T2XXqunbtZAPRUwDZ5VRUoFp4qY6ASmsF+lhgFbPBeLSh5A72 mGUCbtxS8xKSE5scCM0Di5CkuXXIEbpCQ3qDIFkcFDjBg41ph8Z+ldR+Z26hEjjDWBmEE7AdgRC2 8mpFDsC7vIZp+hymxvy4BKNEpg4wTe3o4UUKmvYcDJP2ZQF0voC9CbaGphS9dqtgWlrgcSfCGo9s KilN15oO5pON6GUVKsWXENOoEtpdQ7O3TA03d3u+WieiCiqlU1pIPh3YQlFHbc0ixmKh+IdOI09N 1LXZi0IMQx+96bpMAeS3TlyLjjI1ws0ygKSPdBXYOVJXqCl03qcEeAodyQHANNmih9GzBIJ1oSAv nGD7OH1aBOThurdrt8Tejoem+ho/F00FYL2gGkGRsxR0ogxJvOdIrMvi9t2Go6pNtlzYrr0XL57S uUOITDW0G2vGBS8sAvWoM/FcZlBgGtaCAkFb+XU7FGurOq6bRZ866xzWO3V3R5OL1hHBIjbAZiLV wVBC31CN/pajz8fgKhp86/wpU1CxdPoueA3Y0HC7I67UbkmH12Ju+jzZAUibNss0VphUIZTLW3Ta Y6DYNHqgzXTEAvI5w0hIRyH3RXWjGLRDoCnX8W9iNYgtwKadTaTk0scmaKDYkcfvpM8gqoJyRH/V 0UgA+00/dIDP6xMi2vuj/DHbFKc2SbXTrh1WwWLp3VUdtphR45mregR3oQm6JV+eJcTYCnJ9kA8P OBBZHZwMugQ3quqUoY9vbCf+Ne1zHJ3sooxKeePmtyWEdCSEeFFtYmdNpbUtA9liUsnqNLRC0S1z dUghHammrQIqMGgDyiMAJIooQh3WU3R21C60zarNDpKNVpsbaXQs6Vhnh46ACJ2PQepC/jqWMnW2 D3eAHBahIvTSfLonzdmoPxOfaYsCBKNGRPNI8orylweh1kEXowJWoKQofjDRovbeYvASOemdUd76 uIjkL0CILPHv+D9RHIumDVL5+rAHPYDpxboMfO8JLciXLYr+vgPk2OD+JByKiMpCRmzWWbeezkDI pr24F4Og01RLBwokugGpPaSrTR8w4Z1maFmJeAp3A3tRRUNCtcuQCi2iGJX4PmlxdHpgU4G4dj2n tr5ULuVt4m9KVoa4P6yNgKlIAY7UToLTWQJq8G6dXgU9sDrxZ+STDmTRVsheDU8qdleHJcY7+eOR hBQM1iJxd+qoUglROELmuUTXpy/CO6iFe9N2hY5hmjZoB3Q8sgbU2kjHhCR9SmHrfCe+X/vuxGt9 NnnzkNdv+uzKUCnY2wqvmqeDzL5pt/7QpB63LBw8gYhnEuF2nTyfdnUIdMLLX3lbnSiOpjG5DliT n4XnMJ7AMuWkEdMby7+ts3cGD6bVSG5qT8CPpbMG8kCIxYIwfVM9tBePRzZBMUIof5101F9jKrot oQnOPtWRLeDoAMkz0b7x0arX9K9ovwDsTzoZo4+pyHS9zz7o5LoOpxYdP4k6QjMRo4MyNH0iSQeg NH2hAvHCoNsBO+hvr3zoHKb8I4EFNdFqLBxsgyBWE4+YWzowolNagF8iC0Uf9YXTu+Q7iAyrJU1N ZIHoU+GafHjXgC5Hw0ISKtSLdPbRNpfOB0SaGzFUNUvwOeMyn8BCjVKPRdg9Y9OHdTQtOaLZo48x 4FiSuUbaZP2HJo/zs0eoXSbqs2mXGZwt5nOc8tbV6zOnGn/iBzTjj/B3IdQruaBpt7ZrrrBLiaYd 8V+hoX1Zlcw0AudS8BBCNjtoywZ0iUMj8IQs12F9ZxIcOu079VmnNvVZunOxCJjFaoAEtq7UA86r TZDKU5NRfS6ZsqBOCp1APoMrt2r8sbI+vAQdGncKb7M97aTR3Zo68Qqb8sJcWK7KDCbFcKChqW27 2glwgDKyh57gR1EnkiAJalcqiJbfXu6olxiBchjMICluh3UUFpBhrjks0byuaTdeRBSxmzLqRbsv pfCSUeFJ+NAICOuG3FUkSyMzaHpAnvCGmhGk7g71gQXgB+R5a8qvY/EY5e/p+D//9lWfhyBwG+nn hyTmOxxzHcyEUkSH9O7j+5CWlaHdBaqdIBAcfQpqE/JJN2nyGL8fjsAmqWKvdrnSclqrpneWsMUo DsICRoyMrGlVn/CN+WjvjUdJOtKK9yCpd+ojgktDlgpVwAsOYTpVblJEiG/NGZPGjGV87uqxQzS4 Nlf0yTTJ7wY0e3CpdmXhPOOxNKsVRkV/jPZPXPu8cRUaTvs1/hM07CZPhUIC8YHhM9+n+7IOShOq I5e9KSxc/jJ9/m7p43+q2bwlCTT3jjpApPsgR3WfF4o0fg8WFO46lNj1CZyi0zOEXU4UdQV2N530 II8eP5zj2wNBgKIgZfhvlixTDxMkuMbB6BDLMYxcXJpNKMoxXdTyy3eFuptSjWQEDah/5K3M9uj0 TKHvZD0xNavoWI2Y+PPwQViqfUntQ6IyxiIBOQOEGeTZGh55/FPX55VwG7nx5mwruqypCU830PjE hjsvbdXpeBhYEeWmRbNol95mSkGlDRTYVXyglawjwTSnW83ETlUDHnQDvnJ399/2q5VCfIhfIwAA AAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAABcRgAAXEYBFJRDQQAAAAd0SU1FB+YDCA8nOHdGTcYA ACAASURBVHja7L15XFNn9j9+bsK+E/a6JxB2AQVEUXFD2XdFsVrb2t3avmZatdN+2+pMbTudrZ+2 M51fp/bTRUe7CCiIC1Xbsa64AgIJmwKKyBoIEEju+f1Rk4+Y3HufqzERh/N63b94eOc8J889ufd5 zvu8KUREGLMxG7MxG7NRY4KxEIzZmI3ZmI0l7jEbszEbszEbS9xjNmZjNmZjNpa4x2zMxmzMxhL3 mI3ZmI3ZmJnCLIhHIv56AQBQ1K/XA2CICNrCGIqigLoHv8awHg57UOc45tfYWmXPqwBAkT1Lcydu WgNQcw7gfAnAlUMA1iIA/2SAqCQAz3G3Ps30RtM0VFRUwN69e6GwsBBEIhFkZ2dDUlISjBs3jjfW xYsXobi4GAoLC8HBwQGysrIgJSUFJk+ezGvBaLGKioqgoKAAnJyc7hoLEaGmpgb27NkDBQUFYGNj A1lZWZCamgoTJ07kjXX58mWdXwKBALKzsyE5ORmkUulDcVMgIsjlciguLob8/HwYHBzUxT4oKAgE AoHZ/GpqaoK9e/dCfn4+9Pb2QlZWFqSlpUFAQIDZYo+I0NjYCEVFRZCfnw+dnZ2QnZ0NKSkpEBYW ZrZ4AQA0NzdDcXExFBQUQHNzM2RkZEBycjJERUWBUCh8OJJ2ZxtAWQnA5WKA/qsAExYChCUCBMcA CC04vzxm02gQD3yJuCUI8W3xyOvdeYh15WgOo2ka9+3bh+PHj0cAGHHNnDkT5XI5L6zvvvvOIFZo aCieOnWKF9auXbtw3LhxelhhYWG8sBARf/rpJ/T19dXDioiIwPLycl5+FRcXo0Qi0cOSSqV45MgR pGkaR7sdPXoUg4OD9eY4efJk3Lt3r9nmWFFRgZGRkXp+SSQSs8b+1KlTGBERoefXuHHjcNeuXajR aMziV3l5OcbGxiJFUSP88vDwwH/961+oVqtH/VrF5jrEP6Xo59XNAYj5/4M4PMz67+yJu6oMcUuw Prj2+ksWYl+PyedcW1uLUqlUb8Fpr7y8PFQqlURYly9fxilTpjBixcXFYXt7OxFWZWUlisViRqwF CxZgR0cHEVZLSwtOnz6dESs1NRV7eshi39jYiKGhoYxYUVFReO3atVF9H7S2tuLMmTMZ5xgcHIz1 9fUm90uhUGB6ejqjX5GRkdjc3Gxyvzo7OzE+Pp7RL7FYjJWVlSb3q7e3F7Oyshj98vb2xtOnT4/u pD04gPj3tcx5dbM/4rnDrBAC1r2XM7sB6AHmx3XFJQDZWZO/3h04cABkMhnjmB9++AEuXrxIhJef nw8NDQ2Mf//Pf/4DR48eJfLru+++g/r6esYxR44cgSNHjhD5dfjwYTh7ljm2RUVFcOLECSKsvXv3 Qnl5OePfz5w5A8XFxaP6rfPAgQOs8aisrITvvvsOTE0ULisrgz179rD+/cCBAyaP15EjR6C0tJTx 7/X19bBjxw6Tx+vMmTOs8WptbYVt27YBTdOjd7E2VgLc/A9LMhkGOP4VADLPkT1xN3ElGRqgo+X/ NtdNuOjYTKVSQW1tLeeiQ0TWxavds25qauLEomkajh8/TrSnSHIz/PTTT5xYlZWVRHM8duwY5+c1 NDSARqMZtXvb586d4xwnl8tNPsczZ85wfkfHjh0zaSJCRKirq+P06/z586BWq00ar4aGBs7PvHjx IqhUqlG8t3391+TMZj3Vv75j8E7cAABWLtxOCC1Nfj7p5ubG+neKosDGxobo0MfFhXuOFhbcZ7gU RYG9vb1RsAAAXF1dOcfY2tpyzpGiKHB0dCTya7QeUFIUBXZ2dg/kHJ2cnIjGmNovS0tLzjFWVlYm 94vkMy0sLMx6cHrPJrQE7qTJ/ncBy90AEJjBgW0NMDEITJm5KYqC5ORk1pNlkUgE4eHhRFhLly5l XSg2NjYQERHBuZgEAgFkZWWxjrO2tobo6GiimyE5OZn15rKxsYHY2FiimKWnp7MudKFQCLNmzRrV N8PixYtZ1wRFUbBw4UKTVyTExcWBg4MDa+xTUlJMmiApioKZM2eClZUV65iMjAziBw1jWUREBOuD BkVRkJWVBdbW1qM3cY+XAgg4HjTEyawl1+yJOyYNwFbM/IsgXQkwOcjk8547dy7k5OQw3givv/46 iMViIqwlS5bA4sWLGRfJ888/D1FRUURYSUlJEB8fz4i1bt06mD59OhFWZGQkPPbYYwZvaIqiYOPG jRAUFEScPLKzsxn//thjj8HcuXNhNNuMGTPg8ccfZ0yAWVlZsGTJEpP75evrC6+++iqjX4899hjM nDnT5H5NmzYN1q9fz+jXokWLICUlxeR+BQQEwIYNGxgfIqKiomDZsmWjeq2C9ySA8OeY06+lJ8Dc PNbELXz77bffZvyrnQPAuCiARhnAUBsA3NqHE9gC+K0ESH0RwMbW5PO2sbGB6OhouHnzJly5ckW3 3+Xl5QWvvvoqrFu3jvgX2dbWFmbOnAltbW1w5coVGBoa0m3HPP/887Bp0yairQYt1qxZs6C1tRWu Xr06AuuFF17ghWVlZQUzZsyAnp4eqK+vh8HBQQAAcHd3hxdffBE2bNgAtrZksbe2toaYmBgdljZe rq6u8Pjjj8PmzZuJtmYeZLO0tIQZM2bA4OAgyOVyXbycnZ1h2bJl8P7774Onp6fp34qFQpg2bRoA AFRXV0N/f7/Or5UrV8I777wDIpHILH5pHyKqq6thYODXIgRHR0dIT0+Hv/zlLzB+/HiT+yUQCCA8 PBxsbW2hsrJSFy97e3uIj4+Hjz76CCQSyehO3BT1605FrwXAzYr/2++mhAD2/gAZHwBMDmRN3BRR P+7+XoCGSoCbTQAWVr8+6k/w4y4Sv882MDAAFRUV0NDQAJaWlhAYGAh+fn4jXocREXp6eqC2thaU SiV4eHiAWCwGGxubEVhKpRIqKyuhsbERhEIhSKVSCAgIINoLvNO0WA0NDWBhYcGI1dvbC7W1taBQ KEAkEoFEItHbq1WpVFBZWQl1dXUgEAjA398fAgIC9F5he3t7QS6XQ29vL4hEIvD19dVL7IODg1BZ WQn19fVAURT4+vpCYGCg3o/cwMAAyGQy6OnpAVdXV/Dz89OLF59Y1NbWQnd3Nzg7O4Ofnx/RWQAX louLC/j6+uphDQ0NQVVVFcjlcqBpGiQSCQQFBRmMhVwuh66uLp1fJPvkd2tqtRpqamqgpqYG1Go1 SCQSCAkJMfsr//Dw8Ai/pkyZAsHBwXf9HZGYSqWCuro6uHnzJtjb24Ovry84OzuPePpXq9Ugl8uh pqYGVCoVTJgwAUJDQ4kffEaF0RqAlnqApmoA1QCA2ziAKcEAjgRnizypLw9kWSQTgUGtVmNxcTFO mzYNnZyc0MLCAt3d3XHp0qVYWVlp8P+MSYZgwtJoNHjkyBGMjY1FFxcXtLCwQJFIhMnJyXj27Fle Pmg0Gjx8+DDOnDkTnZ2d0cLCAt3c3DA5ORnPnTvHC4umaTx9+jQuXrwYXV1ddVhpaWl44cIF3lgn TpzAhQsX6rBcXV1x/vz5+Msvv/DGOn78OC5YsEAP6/jx47yxLl68iOnp6ejm5qbDWrRoEZ46deqh ICIZe70aE//y5cu4bNkydHd3RwsLC3RycsLw8HAsKipiJNb8d3wn/OYID3Mo9u7di56engYL+aOj o1Emk5mN4Tdx4kRGosiFCxeIsY4cOcKIFRoaihcvXiTGunjxIgYEBBjECgsLw+rqamKs06dPM5Kk JBIJnjhxghfDjwnL19cXT548SYwlk8kMsgXhFov0/PnzOGb3x+RyOcbExBiMvYeHB+7Zs2csSP/t ifvmzZuszEMAwE2bNpmcPtvT04OLFi1i9evpp5/GoaEhIqyFCxeyYj3zzDOoUqm4yVyDg5iXl8eK tX79eiK/+vv7cenSpaxYy5Ytw/7+fiKsnJwcVqylS5cSYQ0NDeG6detYsVauXIkDAwNjmcHIplar cdOmTayxj4yMxJs3b44F6785cZ85cwatra1ZF4qHhwcxbdxYJpPJ0MnJidUvW1tbbGtr48SqqalB e3t7Vix7e3uim+H69evo5+fHiiWVSrG7u5sT69q1a+jh4cGKJRQK8erVq5xYzc3N6OLiwoplY2OD TU1NnFhdXV0YHh7OijVx4kRsbW0dywxGtt7eXsY3Q+1lYWGBZ86cGQsWgT20/bjVajUnu2poaMjk zDCNRgMKhYLT9+HhYSIspVLJeYBLMsfh4WG4ceMG65i6ujpdpQzrmQtNQ3t7O6fvpHPs7u5mHTM4 OEiERdM0NDY2so5pbm4mmuOY8V/3HR0dnOve1PfjaLWHNnE7OTlxln8FBwcTl9QZy+zs7DhrzKVS KStpQ2v29vYwefJk1jGhoaFE1RL29vacdeHz5s0jqjawsrKCkJAQ1jESiYSIVWhnZwfBwcGc8SKp NrCysoKYmBjWMZGRkUSxHzN+ZmVlxcmH8PDwIFoTY/YQJ26JRAJJSUmMfxcKhfD000/fdZnb3ZqP jw+kp6czEh8oioK1a9cSJQ8SrDVr1hBhubi4QGZmJiOWtn83Sby0vdHZ/MrLyyNqN+Dq6go5OTms WMuXLyeqQ7e3t4eMjAxGcoeWLTiWPIxvNjY2sGbNGlbmalJSEjFx7r/eHuZ9oMbGRlyyZIleX18r KyvctGkT9vX1mcWv69evY05ODgoEAr09vueff55oH/l2rKysLINYL7zwAi+srq4ufOKJJ1AoFI7A srS0xHXr1vGKV0dHB65Zs0YPSygU4qpVq3gdQrW3t+Pq1asNYq1evZq47S4iYl9fH65fvx4tLS0N YnV1dY1toN4nUyqV+Nprr6GVldWI2FMUhfHx8djY2DgWJEIjI+A8wEbTNGg0GqAoCoRCod6TWVtb G+zevRu+/fZbaG5uhsjISMjNzYXFixfrbZNosQDuvSERF1ZnZycUFhbCrl27oL6+HkJCQmD58uWQ lJSk94SMiKBWqxnnqMXauXMnNDQ0QGhoKCxfvhwSExN5v/b39fVBUVER7NixA2pqaiAkJARWrlwJ CQkJelsuWr+Y5qhQKKCoqAh27twJ1dXVIJVKITc3F9LS0sDZ2Zk31t69e2Hnzp1QU1MDUqkUli9f DqmpqbyxBgYGYP/+/bBjxw64dOkSSKVSWLlyJaSkpNzXbRIuv/hiaTQaQEQQCoX31GfGmFhcNjg4 CAcPHoSdO3dCWVkZjBs3DnJzcyErK+u+Mlu1c6RpevQ3qQJS5uQDmrAvXLgAu3fvhuLiYnB2dobs 7GxIT0+HiRMnGrxh1Go1WFtb6+nX0TQNZ8+ehYKCAiguLgY7OzvIzMyEjIwM8PX15S1dVlZWpsOy t7eHrKwsSE9P18PSLqbh4WGwsrICgUCg51dlZSXk5+fD3r17wcrKCrKysiAjIwPEYjEvLL6LnKZp GBoaYvTr0qVLUFBQAHv27AGhUKiLV2BgoJ5fbFiICDKZDPLz86GwsBA0Gg1kZmZCZmYm+Pv788aq qqqCwsJCKCgogKGhIUhPT4f09HQ9KS4uLGMnjYaGBigoKID8/HxQKpWQnp4OmZmZEBISwiuJ4K2W rAUFBVBQUAA9PT2QmpoK6enpEBkZyauJ1u1Y+fn5oFAoIDU1FTIyMmD69On3rSHXrWo2UKlUYGFh cV+7NiIiXL16FQoLC2H37t1w8+ZNSExMhIyMDIiJiTF5E63/6q0SmqaxsLAQH3nkEYNqLnyIIjRN 444dO9DHx0cPKyAggBfLT6PR4Pbt29Hb29sgsYYPFk3T+OOPPxpU5wkNDTUbUYSmaSwoKMBJkyYZ JMMcPHiQF9PtxIkTBkk/UqmUd7xKS0vR399fD2v8+PGYn59vNimuCxcuGCxDnDRpEh46dIhXvI4f P45Tp07Vw/Ly8sKvv/6a1xyPHz+OISEhBlVmvvnmG7PFy9ixNyQbJxKJ8B//+MeolUEblYlbJpMZ 1GLUXrm5ucT7sRUVFQaTkPaKjY0l3o8tLy9nxZo7dy7xfmxTUxNrzXFSUpJZ9mPr6+sxKCiI0a/p 06cTy6DdvHkT586dy4g1Z84conp27V5/dHQ0I5a/vz/W1taaPF49PT2YkpLC6FdERARRPbv23GDB ggWsNeikWqTt7e04f/58RqxJkyZhRUXFqE7aPT09mJqayjhHT09PXqzbscR9j098H330EWshv7W1 NR47dowIb/PmzaxYAoEAv/32WyK/3njjDVYsiqKIsBARv/rqK06skpISk8f/gw8+YPULAPDTTz8l wsrPz+fE2rVrFxHWtm3bOLG2bt1q8r4XpaWleofjd16fffYZEdYPP/zAifXqq68SzfG7777jxNq4 ceOo7hNy8OBBvUPoO6/nnntuVL5ZjModehLpMhJpJkTk1JOkaRqam5uJpMtOnz5NtN9GcqzA5RcS SpcZ+1yBRMuzvr6eSIrrl19+4Rxz9uxZou+R1C9TS5eVlZVx+v/LL78QxUsmk3Fi1dTUcJKRtHvu XFjl5eWjlhCDiNDS0sIZi7KyMiLy1oNmozJxe3l5sU9KIAA7OzuiAw+SXsgkrV0piiKqSCBtE+vh 4cE5xsHBweTSUiSEJdI5cknQAZBJf/GRjTN1vEhr1Un8IqmhJ62YYFO/0Zr2IH9UVl1QFFhaWnL6 b2trOyorTASj8QtJSkrilC6LiIggwuKSLrO1tYXp06cTSZexkU60N96MGTOIpcvYbi5bW1ti6TKj LRaBANLS0jhl0ObPn090MyxZsoQ14VpaWkJ8fDxRvBISElgrBAQCAae82f2wefPm6ZUr3hkvUumy uXPncsqNpaWlcVZKUBQFs2bNYu0FrpUIG7VVFwAQHh7O+sNJURTk5uaOzjmO1kOHRx99lLFRzUcf fUS8b9XZ2cl4eERRFG7YsIGoI54WKzk5mRFr48aNxFhKpRKfe+45g/uQAoEA//CHP+Dw8LDJY9/b 24srVqww6BdFUfjss88Sd9cbHBzEjRs3MmJt2LABBwcHibAGBgYY46U9sO7t7TV5vIaHh3Hr1q16 BCntHJ955hlUKpVEWENDQ/jaa68ZxAIATExMxM7OTmKsTZs2McYrKSmJGOtBNbVaje+9954ecev2 w+/R2lBs1DInm5qa8Mknn9R1jqMoCn18fPD9998nvhG01tDQgI899tiILnSenp74u9/9Djs6OnhX XaxevRqdnZ1HYL3++uu8sdra2vDFF19ENze3EVhvvvkmKhQKs8W+ubkZn3nmGRSJRDq/3N3d8eWX X8YbN27wwurq6sKNGzeO6Cbo7u6Or7zyCu/E0dbWhr/97W/R3d19RNnX2rVriboH3s8fu82bN6OX l5cuUYpEInz++ed5x6uzsxPffPNN9PT01GE5OztjXl4e1tXV8cZ64403RvSsd3Z2xkcffRTr6+vx YTCFQoHvvvsu+vj46OLl6OiI2dnZWFVVNWrnZTQCDiJCd3c3yGQy6OvrA29vb/D19b0raSZEhM7O TqitrYW+vj7w8PAAX19fPebe4OAgVFVVQWNjI1haWkJAQACIxeK72rMaGBiA6urqEXJjvr6+d/Ua ZUysoaEhqKmpGSFd5uvra/JXfkMHwFq/KIoCPz8/kEqldyX1plarQSaTgVwuB0QEPz8/8Pf314uX QqEAuVyuky7z8/PT2wMfHh4GmUwGtbW1QNM0iMViCAgIuK8SYUqlEuRyOXR0dICjoyP4+fmBi4vL iO0PjUYDtbW1IJPJdNJlAQEBRHvNhuJVW1sLcrkchoeHYfLkyRAYGMgoz9bW1gZOTk4glUr1tm20 WFq/mLAGBgZALpfr5Mb8/PxAJBLd1R64MbGGhoZALpfDjRs3wM7ODqRSqd6ZgUajgfr6ep0M2sSJ EyEoKEhvm25wcBDq6uqgtbUVbG1twdfXFzw8PO7KL2Ni3betEo1Gg3v37sWIiAhdf2h3d3dctWoV b5WZ4eFhLCwsxKlTp+qwRCLRXclnjdnDYRqNBn/66SecM2eOrpe5k5MTzp49G48ePWq2ci6t1NuS JUt0b2sODg4YGRmJJSUlZiV3lJeXY05ODopEIqQoCh0cHDA6OhoPHjzIK15aqbfMzEzdG5adnR2G hITg7t27ibf+bsfKyMgYgRUaGor5+fm8sBB/VdRZvXo1uru7I0VRaG9vj2FhYVhYWMg79tXV1bhy 5Uodlo2NDUqlUty+fTvxdt3tWHl5ebo3PxsbG/T398cdO3YQiZqYbKvk6NGj6OXlZXAfKSUlhdfr 4L59+0ZsDcAd8llyuXwsk/2XWVlZGYrFYoNrYsqUKWZrvl9VVYXBwcEG/fL29sbDhw+bbSuLiagj Fovx1KlTvLYRo6KiDGKJRCJecmP19fWMqlRubm5YVFTEa1ssLS2NMfZHjhwhxrp27RrGxcUZxHJw cMAdO3YQPzC2tLTgnDlzGLF27txplIfPe07cCoUCY2NjWYvcP/74YyJnOzo6DNJTwcxyY2NmPuvv 78dly5axronc3Fwi6TJjmkqlwmeffZbVryVLlpj8LEKtVuOWLVtY/UpKSiJiFqvVanz99ddZsWbM mEHELFar1fi73/2OFSsqKoqIWUzTNH7yySesBKKZM2cSdcbUaDT4pz/9idWvgIAAbG5uJsLiIqj5 +flhS0uL+RP3hQsXRhxSGbri4uKIXhHKysrQzs6OFeuRRx7h1ap0zEa3tbS0jDhsNHTZ2dkR3VjG tK6uLtb2BnCrVaypBan7+/tZ2wgAAPr4+BAdPiqVSkbx6NsrnM6ePcuJ1dvba7DvDtzRPpgEa2ho iLF6S3u5urripUuXiH6AubRpKYrCH3/8kRNrYGAAQ0NDOdcECRaX3XMdd39/P/T19bGOaWxsJJbP 6u/v5zyMGI1MpzG7O1Or1ZySV/39/SaXG6NpGq5evco6RqPRcMrn3Q+/qqurWcfcuHEDBgcHibAa Gho4x5DMUaPRQFtbG+f9T/I9IgFTtru7mzOXaP1vaWnh/DzSOXLJ7BlrTdxz4vb09OTsoztv3jyi U31nZ2dOVqSfnx8RS27MHg6zs7PjlEELCAggki4zpllaWsKsWbNYx4wfP56IOWlMs7CwgIULF7KO CQwMJFIMsrCwgPnz57OOcXd3J2IfW1tbw4wZMzhzCUm8BAIBpKamso6ZMGECEftYKBTC7NmzWcc4 ODiAu7s7J5aVlRVMmzaNdYyjoyMRY/i+J+5JkyZBZmYm642Xm5tLVL4mFoshOTmZ9Qt76qmnTC43 NmbmMy5JNQCAZcuWmTxB2tvbs0qqAQBkZGTcV3EApuSRnp7OWHpKURSkpKQQJSJra2vIzc1lLa9N SEjQ63/PhLVq1SpOLC4NVe0PSmpqKmv7heTkZBg/fjwRVl5eHmtZ5oIFCyAwMJAIa82aNawPqQsX LuTUdjVZOWBTUxPOnz/foETY73//e14lMLW1tThnzhw9LKFQiM8995xZ2G9jZl67efMmZmZm6jEG BQIBZmRkELd+Nbb19PQYlGejKAoXLVpkNtLPwMAAbtiwAS0sLPT8SkpK4lXlpVQqcd26dQaxYmJi eFV59fX14QsvvGAQa+bMmbza7g4NDeE777yD1tbWelhz584lbpWL+CuD15CkGgDg1KlTifbKb4/9 pk2bDGKFhYXxwmIzoxFwWlpa4Ntvv4Wvv/4aenp6IDg4GJ544glYsmQJbyX15uZm2LlzJ2zfvh0U CgX4+vrC6tWrIS0tzeSvxPfwg6jrvnan4s7D4pcpsTo6OuD777+HL7/8Em7cuAFeXl6wevVqWLp0 qVFePe/Wenp6ID8/H7766iu4cuUKuLi4wOrVqyE3Nxe8vb3N5pdSqYTi4mL44osvQCaTgUgkgjVr 1sDSpUv13gK4Yt/X1wd79uyBr776CuRyOdjb28PKlSshLy8PJkyYwMsvLdaXX34JtbW14ODgoMO6 8wmZy6/BwUE4cOAAfPHFF1BeXg6Ojo662I8bN44X1sDAAOzbtw+++uorqKioAGtra1ixYgWsXLkS pkyZoqe0RIL15ZdfQmVlJdja2kJubu5dYTGZUaXLEBEGBwdBpVKBg4ODQX3Eu8Gyt7c3S2e3u/W7 oqICSkpKoLS0FOzs7CAxMRESExNhwoQJZpsD3pII27dvHxw6dAgoioKEhASdsjYfv27HOnDgAAiF QkhMTISkpCS9hUliV65cgeLiYjhw4ABoNBpITEyE5ORkmDRpkt4i1x5g29nZEXV/M1Vs1Wo1KJVK sLGxeWC66mn96u/vB2tra4N+NTU1wb59+6CkpAT6+vogPj4ekpKSIDg4WE/qTTtHa2trsLGxuad7 mwurtbUVSkpKoKSkBNrb22HBggWQmJgIERERen5pNBpQKpVgZWVFjJWUlATh4eGMWJaWlmBra2tQ 33X//v2wb98+aG1thfnz50NycjJMnTrVIFZfXx9YWVkZxGpvb4f9+/dDSUkJXLt2DebMmQOJiYkQ HR3NvbU89iJuPNNoNFhYWGiwTCwyMhLPnTtnFuanVtZLKpUalFQ7duwYb4kwQ1ihoaG85MYQEU+e PIkRERF6WOHh4XjixImxRXUf18T58+cNqgZNnDgRCwoKzMZIra6uxnnz5ultl2ol1fjwOKqqqjAu Ls4oWFeuXMG0tDQ9LB8fH9yxYweveDU0NGBSUpIelkgkwk8//ZSTRTqWuI1olZWVrLWqcXFxvBtN GcMaGxsNagtqr2nTphHLjTU0NDCyBbU/UNevXyfCam9vx9mzZzNizZ4922z71w+7dXZ2skqXTZ48 GSsrK03uV29vL6anpzP65eXlRcz87O3tZZUu8/LywtOnTxNhqVQqfPrpp1lr48+dO0e8D75y5UpG LGdnZywtLR1L3KZ6guFihlEUhTt37jS5b1zMMADAv//970RPyu+//z4RFon98MMPnFg7duwYW1z3 wXbt2mU0GTRj2sGDB/UOL++8nnjiCaKn2wMHDnBiPf3000RYly5dGtHx09D1xhtvPPysEgAAIABJ REFUEMXr5MmT6ODgwIqVk5PD6teoVMB5EI2maSgrK+Pc2yORQTP2PueZM2eIDoS55LNomoby8nJO rMbGRiIpruPHj3OOOX/+vEnj9d9giAhXrlzhjGtlZaXJpcuampo4P7OqqoqTxIKIcO3aNU6s8+fP ExH6GhoaQKFQsI45ePAgkTReW1sbJ2nx8uXLrH8fS9xGMoqi9NrOMtV6mtovEsIS6UEyCZGKdI4k tdckcnBjxt9I2u+a4/CX5DOFQiFn62aKoojWobW1NVEbaFtbW84DQ9K2rSTycpx/H1vCxjGBQABZ WVmsX5y1tTVER0eb/GbIzMxkXXRCoRBiY2OJFlNqaiqndNm8efOIbobExERW4oOFhQWxdNmY8fsx j4mJ4ZRBy8zMNPmDxrRp01h1RimKguzsbKIHiLCwME7psqVLlxLNMTg4GHx8fFixcnJyiNa9v78/ KxYAcEoqju1xG9E6OjoYW00KBAJeMmjGNIVCgY8++iijRNgzzzxD3F1PoVDgypUrjSZd9tJLLzFi vfjii7x7IY8ZmWmly5hk0FJSUsxykK5Wq/Hdd99l3JueO3cu8UG6Wq3GrVu3MmLNmzePGIumafz8 88/1CD/aa+HChcQH6RqNBv/+978zYk2bNo2zCdhY4jayNTc349q1a3UN7CmKQm9vb9yyZYtZ5cba 2trw5Zdf1jWKpygKPT09ccOGDXclqbZ+/Xo9rI0bN/KWG+vq6sK33noLvby8UCAQ6LDeeOMN7Orq GltQ9/kH/fe//z16e3vrErhIJMInn3zSrFJv/f39+Ne//hXHjRunY6W6uLhgbm4ub3k2pVKJf/7z n3HcuHG6Obq4uOCKFSt4Y6lUKty2bRtOmjRphF+rV6/mLfU2ODiI//znP3HixIk6LCcnJ0xLSyOq 5jGqdFl7ezvU1NTopMv8/f15sya1WDdv3tTJoHl4eIBUKr0r1qQhLH9///u6d6qV9bp69SoIhULw 9fUFsVh83+TG8JbUW01NDSgUCnBzczMoUzU8PAxyuRwaGhqAoigQi8V3LammlQhrbGy8Zyy1Wg11 dXVQX18PiAgSicSgPFtXVxfIZDLo6uoCFxcX8Pf3J2qWZMh6e3uhuroaOjo6wNXVFQICAljV2E1l CoUCampqoKOjQyc35ubmdlfbRf39/VBdXa2TLgsICDAo69XQ0AByuRzUajVMmjQJ/P3976vUW19f H8hkMmhrawN7e3uQSqXg6ek5wi+apuHKlSsgl8tBpVLB+PHjISAg4K7yiRZLJpPB0NAQI1Z/fz/I ZDKd3Jifnx/4+PjokcBaWlqguroaBgYGYPz48RAYGHhX/ZMQEZqamkAmk0F/fz888sgjEBgYSNZE z1ivN7t378aQkBC0sbHR9cNdtmwZVldX836F++677zAwMFCH5ezsjAkJCVhWVsarPIkN6+zZsw+F DNrw8DAWFRVheHg42tra6sRQ4+Li8JdffjEbicKYptFo8Mcff8SYmBidnJ29vT3OmDEDS0tLeUtx nTx5EhctWoSOjo46rFmzZuHhw4fNFi+NRoO//PILzps3T+eXra0thoeH4969e3F4eJjXHC9cuICp qam6EjZbW1uMiIjAffv2mVXq7ezZs5iYmKjzy9raGgMDA/Hbb781yzai1q/KykrMyclBV1dXXZ8l iUSCX3zxxQO5XWeUxF1aWjpCpRvuUAEhJWTQNI179uzRBe/OKygoCGtqaoj9KiwsHKHcfvsVEhJi 8ib398MOHz7MKBsnkUjw4sWLo36Op06dwokTJxqc4/jx43kxLOVyOWPj/ICAALxw4YJZ5lheXm6Q jQoA6OnpyUnIuN2uXr3KKKYwadIkPH78uFnmKJfLcerUqQb9cnFxwYKCArP41dTUhLNmzTLol62t LX755ZcP3EPePSfunp4enDlzJmsx+Ycffkg08fb2doP0Z7iDFEBCU7158yZOmzaNFWvjxo2jWgat p6eHUVsQbiMYGEug1BymVCoxJyeHdY5Lly4lOlwdGhrCF198kRUrLy+P+HDVWMbFygMAXLRoEfb0 9BC9/b799tusWAkJCUTSZcY0tVqNGzduZPVr+vTpJmfKajQaTlKZVCo1657/fUncFy5cYHxC1l5z 5swhli7Tvu4zXd7e3kTSZWVlZYynttrLw8OD6GZ4UE0mk3EysBwcHIg0AR9Ua2lp4ZTGs7GxIZIu 6+7u5nwwmDx5Mra2tpp0jh0dHYxvTXBbi2SSt83+/n7WNgLae4jvYdq9Wm9vL6fUm4WFBZaVlZnU r8HBQc41QSpdZkozinQZl0QQCRtKe+A1MDDAeZBFwnQaHh7mZFcNDQ2ZnBlmTFOr1ZwMrP7+/lE/ x66uLtYxg4ODRJJXGo0GmpubWce0tLSYXAZNrVbDzZs3OdcqybqnaRpqa2tZx9y8edPkkmoajQba 29uNcm8b+2D/+vXrnGNMHS9O3si9Anh5eXGqfCxYsIDolNrFxYWzh3FAQADRqSsJVnh4OBHb8UE1 BwcHkEgknISG0cw+tLe3h6lTp7KOCQoKYiVt3EmAYrOoqCiT93y3tbXllPWaPHkyUdULqXSZqRWD rK2tOaXevLy8zCL1FhcXxzrG0dGRSAZtVCXuiRMnwtKlS1mTy7Jly4ily9LS0hj/LhQKiaXLpkyZ AikpKaxYTz755H0te7rf5u3tDenp6Yx/pygKVq9ePap/nFxcXCA7O5uxHI6iKMjNzSW64e3s7FhZ pAKBADIzM4l+BIz947RixQrWkr/MzExOPVaAX6XLMjIyGCntFEVBeno6kXSZsRP3qlWrWPNAcnIy kXSZMU0oFEJeXh5rHoiPjyeSLjP1q4JR9iEXL16sx4CzsbHB9957j1eZT0NDAy5YsEAPy9LSEtev X8/rUKWhocFgX19LS0t86aWXUKlUjvqKi2vXrmFycrJBqbcnnnhiVO/h374HnJuba1C6bOnSpdje 3s7rsNOQFJdAIMBVq1YRnZ/cr4PmJ5980qAMWmJiIjHDT7tv+/rrr+vJZ1EUhenp6WY78+jv78eX X34ZLS0tDcqNmXrf/fbD4TfffFNXMnzngak52tsa7XCSpmnUaDSo0WgMVohcv34dP/nkE4yOjkaJ RIJLly7FoqIigyf0XFjXrl3D//mf/8GoqCiUSCSYmpqK33777V2dhGuxIiMjdVjfffedQSwuv8xl XH61tbXhp59+ijNnzkSJRILx8fH4zTffPBRJW2tdXV24bds2jIuLQ4lEgnPnzsVt27YZZGpyxau3 txd37tyJCQkJKJFIMC4uDr/88kuDTE1jrgkuLIVCgdu3b8fFixejRCLBmJgY/Mc//mGw0oILS6lU Yn5+Pqanp6NEIsGZM2fiZ599ZjBpm3KOSqUSv//+e0xLS0OJRILTpk3DDz/8EFtaWsx6Pw4MDOCe PXtw2bJlKJFIMCQkBP/4xz9iY2PjA3k/cDInNRoNnD17FoqKiqCoqAg8PDwgMzMTUlJSYNy4cQal pbRyY3c2XNFoNFBWVgbFxcWwZ88e8Pb2hoyMDE4sOzs7EAgE9ySVxIZF0zRcvHgRiouLobCwEBwc HCArKwtSUlJg8uTJZpUbq6mpgT179kBBQQHY2NhAVlYWpKamwsSJE/XipVarYXBw8J7j9aAa3pKD GhgY0HVruzMGcrkciouLIT8/HwYHB3XfY1BQkJ60FE3T0N/fz4pVVFQEu3fvBpVKBdnZ2QaxSPxu amqCvXv3Qn5+PvT29kJWVhakpaVBQECA3udq/bKxsdGT7MNbLVmLioogPz8fOjs7dfejISkuLqzG xsYRWNo5hoWF8ZojAMC1a9d0sb9x4wZkZmZCamoqhIaGMvplbW1tsCNgc3MzFBcXQ0FBATQ3N0NG RgYkJydDVFTUfWMga3OBVgbNysrqwb2HuGocv/jiC4PkmqioKCwvL+dVL7lt2zaDWDNmzOCFZeyn 2e+++w7Hjx9vUIqLVG3jfthPP/2Evr6+en5FRESYLV4Psh09etSgOs/kyZNx7969vOTZjhw5goGB gXpYU6ZMwaKiIl5PgBUVFRgZGWmQIHXkyBFeWKdPnzbIT3jkkUdw586dvFiRp06dMlgKN27cONy1 axcvrNraWpw7d67elt348eN5x6u8vBxjY2P1sDw8PPBf//rXqOZemGSr5MyZM+jp6clY35icnEz8 On769GnWWtW0tDSzNGG6fPkyp9wYnz1UY9YvMzH8AABTU1Mfqq2Qe7XW1lZWIlhwcDDxHur169cx JiaGESskJAQbGhqIsBQKBasUV2RkJFENOuKvcmPx8fGMWFOmTCHej+XCEovFxFj9/f24atUqRqyA gACUy+VEWL29vZiVlcVag04qN/ZfmbhpmuZkOllbWxMVpms0GvzNb37DSTDgQ+s1lr3zzjusfgkE Avz+++9N7tfXX3/NSQrYv3//WMa+ZV9++SWnDNr7779P9OS3bds2Tqw//vGPRH4dPnyYUyLs888/ J8LKz8/nxNq0aRPRHH/44QdOrNdff50I6/Tp03oHjndef/3rX4njxSU39uyzzz4UPXjuxQRs+3LF xcWs2ywqlQpaWlo4JZBomoYjR46wjhkaGjKLrFdpaSmn701NTSaXz/rpp584fa+srByT9boVi3Pn znGOk8vlnNJSNE1DZWUlJ9bly5eJZKrOnDnD+R0dO3aMSOqturqaE+vy5cucJBZEhLq6Ok6s8+fP E5G3KioqOD/z8OHDRPFqaGjg/MyLFy8+cISYB6qOm6TWk7SNJ0ltLImc0v2oEzbWHI1pJO1KbW1t x9RhgJ9sHFe8KIoiqu0nXask697JycmosnEkWCT+kx7O2dvbc45zcXEhwiL5TBLpr//axK0lNrAF 0c3NDYKDg4k04rikeEQiEYSGhpo0EWmli9g+08bGBiIiIkyeIJOTk1lvLhsbG4iNjYUx+9UWL17M Wm1AURQsXLiQsyKBoihYsGAB6ziBQAAJCQlE1Q1xcXGszFWhUAgpKSlE62v27NmccmNc60Y7bubM mZxYGRkZRA8tUVFRIBKJWOOVmZlJlGwjIiJYmasURUFWVtaoJs7d96qS69evY2xsLOMe6+bNm4n7 BF+7do3x8EggEOCWLVvMclrc0dGBS5YsYZzjb37zG7N01+vr68O1a9cyynq99dZbvHo0P+zW39/P GC8AwOzsbOLDby6snJwcYqyhoSHcvHkzI9YTTzxBzE9QqVT4yiuvMGItWrSI+CB9aGiIFSs+Pp4Y S61W49/+9jc98tDt8SJVM1Kr1fiHP/yBUVItOjraYM332OHkHVZZWYlpaWm6BvZwqz/wW2+9xVta qrKyElNTU/Ww3n77bbMx1rSlTMuXL9c1sAcAdHNzw1deecWsnfVaW1vxqaeeGtFT3N3dHTdu3DhW UcIQr3Xr1o3oVuns7IyrVq3CK1eu8MK6fv06vvDCC3pYjz32GG8shUKBr732Grq7u4/AeuKJJ4h7 1d/+oLFx40Z0c3PTYTk6OmJ2djbv/vLt7e24YcMGPaylS5cSV4FoTalU4h/+8Af08vLS/Rg4Ojri 8uXLecerp6cHt2zZgp6enjose3t7TEpKGiuDvWVE0mW9vb1QUVEBV69eBSsrK/D39wepVDriNQoR obe3F+RyOSiVSvD09ASJRKL32nYnVkBAAPj5+ZllH/l2UyqVUFlZCY2NjSAUCkEqlUJAQICe/319 fSCXy0GhUICHhwf4+vqyvnJyxbW2thYUCgWIRCKQSCR6e7UqlQoqKyuhrq4OBAIB+Pv7Q0BAwH2N 18DAAMhkMujp6QFXV1fw8/O7K2kmbVxra2uhu7sbnJ2dwc/Pj0ya6S5taGgIqqqqQC6XA03TIJFI ICgoSE+manBwEORyOXR1den8ujP2Q0NDcPnyZaitrdVhBQcH68ViYGAA6urqoKOjAxwdHcHX11dv b1utVkNNTQ3U1NSAWq0GiUQCISEheq/8AwMDUFtbC52dneDo6Ah+fn56WwfDw8NQU1MDMpkMhoeH YcqUKRAcHHxXcdViaf26FyyNRgNyuRyqq6tBpVLBlClTIDQ09K7kxtRqNcjlcqipqQGVSgUTJkyA 0NBQkzcAu5d1WF9fDzdu3ABbW1vw9fXVk427b1slhkoEmcr9Dh48iNHR0ejk5IQWFhbo6emJTz75 JGPt7IMqG8bkF03T+PPPP+OcOXPQxcUFLSws0N3dHVesWIFVVVW8PkOj0eCRI0cwNjZWhyUSiTA5 Odmskmo0TePp06dx8eLF6OrqihYWFujm5oZpaWl44cIFXn7RNI0nTpzAhQsX6rBcXV1x/vz5+Msv v5h1jhcvXsT09HR0c3PT+bVo0SI8deoU7zmeP38eU1NTdVjOzs4YExODP/74I29JtXPnzmFKSgov LGPG8b8ByxRWV1eHa9asQU9PT7SwsEAHBwcMCgrC77//3mjbm0ZpMnXo0CFGos6CBQt4vw4+iHb8 +HHGRvAxMTG8ehocPXqUUYorODjYbPJZFy9exICAAIN+hYWF8dIPPX36NKMUl0Qi4SU3ZkyTyWSM jfOlUimeP3+eGKuiogLDw8MZJdX48BLKy8sZZb0mTJiAhw8fHtsfGAXW1NTEqErl5OSEO3bsMMoP kVGky9hYZhRFEUuXPaimVCoxISGBlRTw9ttvEx2u9vT04KJFizjlxkwtnDo4OIh5eXmsfq1fv57I r/7+fly6dCkr1rJly4jkxoxpQ0NDuG7dOla/Vq5cSSRdplKp8JlnnmHFio+PJzqLMKZ02ZiZz0hk 0Hx9fY0ig3bPifv8+fOc0mWzZs0a1bqHtbW1OG7cONY5hoWFEbWJlclk6OTkxIpla2trcu2969ev o5+fH6f2Hskh8rVr1xjFo+G2trNXr1416Ry7uroYn5C118SJE4mky7q6ugz2t7mzWopEbqyjo4O1 tQTwkC4bM/PZwMAABgUFca4JYzDEBcY4yFIqlaxjmpubTS5JZExTqVSc8ln19fVEc9RoNKBQKDgP Zkwdr+HhYbhx4wbrmLq6OiJZL5qmOWWqNBqNyedI0zQ0NjZyrlXSOba0tHCOIcEypnTZmJnPNBoN 9Pb2GmVN3DUBh9Q8PT05ZX3i4uLuuirhQTAXFxeYNGkS65iFCxcSnZ7b2dmBWCxmHSOVSk0uN2Zv bw9BQUGsY+bNm0dUbWBlZQUhISGsYyQSicmVZqysrCAmJoZ1TGRkJFHsLS0tObHGjRtHJDdma2sL kZGRrGMmTJgwaioq/lvNysoKwsLCWMc4ODiwkpVMlrgnTZoEWVlZrItyxYoV97WH7v02Ly8vyMrK YizlsbCwgGXLlhHRiH18fCA9PZ1Vimvt2rUmT9wuLi6QmZnJ6JdAIIDs7GyiH2CRSMQpN5aXl2dy fUF7e3vIyMhgZPBp2YIkPyj29vaQm5vLygbMysoikhuzt7eHvLw8Vr8yMzPBx8dnLDs+wGZhYQFr 165lvUfi4+M5H2qMXg7IdpJqSD7L3t4et27dOqr3t7XW1taGy5Yt02N0WVtb42uvvUZ0oHX7fnJO To4eloWFBT7//PNmIyN1dXXhE088oceAs7S0xHXr1vFSIOro6MA1a9boYQmFQly1apXZiE19fX24 fv16vW52QqEQV69ezYtU1tPTgy+++KJBGbSMjAxecmM9PT34wgsvGMTKzMzkhTVm5t3n3rp1K9rZ 2Rk86+NTmcVmRAQcEmtvb4eCggL497//Dc3NzTBr1izIy8uDuLg4PYIKTdOg0WiAoig95ZG72bc0 Npb21/NOrO7ubtizZw/8+9//hvr6epg+fTrk5eVBfHw8794JnZ2dUFhYCLt27YL6+noICQmB5cuX Q1JS0n192sZbSjlMc+zr64OioiLYsWMH1NTUQEhICKxcuRISEhJ4iw4rFAooKiqCnTt3QnV1NUil UsjNzYW0tDSiLYT7NceBgQHYv38/7NixAy5dugRSqRRWrlwJKSkpvGOvVCqhpKQEdu7cCZcuXYJJ kybB8uXLISMjA9zc3Hhj7du3D3bu3Anl5eUwefJkHdadr9d4Sw0IEUEoFD4wTZeM6ZcWi6bpB6qx FNccVSoVHDlyBHbt2gXHjx8HDw8PWLZsGWRnZ8O4ceOM4oPREvftN4xarQZra2uD0mUnT56E/Px8 2L9/P7i5uUFWVhZkZGToSXGRJNkLFy7A7t27obi4GJydnSE7OxvS09Nh4sSJvBP22bNnoaCgAIqL i3Vq4BkZGeDr66sn96Q9WDM0x7tZAMPDw2BlZXVf5cZomoby8nIoKCiAPXv26Br/pKenQ1BQkEH5 rKGhoXv2y5hYJJ9VVVUFhYWFUFBQAENDQ5Ceng7p6el6Ulz3a46Wlpb39ADBhYW3WrIWFBRAQUEB 9PT0QGpqKqSnp0NkZKRZtySbmpqgsLAQdu/eDR0dHZCSkgJZWVkQERHBW+rt6tWrUFhYCPn5+dDW 1gaJiYmQkZEBMTExZmVZt7a2wp49e+CHH36Aa9euQUJCAmRlZUF0dLRe7GmaBpVKBRYWFsRdG026 VUJa4/jPf/5zRF8E7TVt2jRepBOaprGwsBAfeeQRg5JqfF5HaJrGHTt2oI+Pj0HlDnOy/Ixl2nhN njzZoNLJwYMHH4o5lpaWor+/v0EyTH5+/kPRfP/48eMGiTpeXl749ddfm22ONTU1BpvI+fj4YEFB Aa/1deHCBYyOjtbDEolE+I9//MNs0mVXrlzBhQsX6m0Ju7m5mTz2JkvcJ0+eZK3tTUpKIiYYyGQy g1qM2is3N5d4P7aiooKREQkAGBsba9ZGU8aw+vp61vrSiIgIYvmsB9WuX79u8GbXXv7+/lhbWzuq 59jR0cHIyoNbNejmaMKkVCpZyVt+fn7ENegKhQLT0tIYsTw8PMzCuuUiXD3yyCN47ty5hytxazQa XL9+PWthuqWlJR48eJDoyeqjjz7ilFQ7duwYkW+bN2/mLJj/9ttvR/UN/7e//Y1TiuvTTz8d1U/d JHJjW7duHdVzJJEbe/XVV00+x5MnT3LKjf3pT38iwiotLeXEeuqpp0z+ZlFeXo7Ozs6sfr355psm i71Jdvtpmob//Oc/rGOGh4fh2rVrRFJcXDJoKpWKSJoJEeHo0aOcvptaUs3Y+74nTpzgHHf16lUi +awHdY4XL17kHFdfX08kn/Wgmkwm41yHNTU1JifqVFZWcsqNHT16lCj2V65c4cSqqKgwuXRZQ0MD J3Hu4MGDJltfJjumJakiIJWD4qqNFQgEYGdnR3QYQFIMbw5JNWMZRVFEdclGPzwx8RxJiEGjeY4A QFRDb47qC0dHR864uru7E8uzPYjSZXZ2dpyHot7e3iZbXyaZvVAohOXLl3PKoE2dOpVIEzApKYn1 9FwkEkFERATRDc8lXWZrawvTp08f1Tc8l2yUUCiE2bNnj2odv4SEBNYbSyAQcMqbPeg2d+5cTrmx tLQ0k1ddREdHg6enJ2vs2YhPt9u0adNYHzS096yppcuCg4NhwoQJrH5lZWWZ7h4y1R5Ra2srzp07 l3EfeevWrcSnxT09Pfjoo48axLKwsMCPPvqIeA+ss7MTU1JSGDsbbtiwweSd+oxtvb29mJeXxyiD 9swzz/AiED2oxIfnnnuOcQ84NzcXe3t7R/Uch4aG8LXXXmOU9UpMTMTOzk6T+6VWq/Hjjz9m3Jte sWIFMalMrVbje++9xyiDFhsba5Y20TRN49dff402NjYG/UpNTTVpEQOYcvLV1dWYk5MzQiLMx8cH t27dyrtlZVNTEz755JM6WS+KotDHxwfff/99oi59t1tDQwM+9thjIyTCPD098Xe/+x12dHTgw2At LS343HPPoUgkGiGD9tJLL+GNGzceijm2tbXhb3/72xESYSKRCNeuXWuUVpoPgnV2duKbb745QtbL 2dkZ8/LysK6uzqw/nB988AH6+Pjo/HJxccE1a9bwjr1CocD33ntvBJajoyNmZmbyFi0xdmXJJ598 ghMmTBjh17Jly0xesWQ0Ag4iQnd3N8hkMujr6wNvb2/w9fXVe6VRKpVw+fJluHr1KlhbW4O/vz+I xeIRr7CICJ2dnVBbWwt9fX06ibA7mXuDg4NQVVUFjY2NYGlpCQEBASAWi+/qdWVgYACqq6uhoaEB LCwsQCqVgq+vr95rp0KhgJqaGp10mVQqvasGWogIPT09Ohk0kUgEfn5+d8WavBPLzc0NfH199bBU KhXU1NRAXV0dUBQFfn5+IJVKDcqz1dTUQHd3N7i5uYFUKuXNmtRab28vyGQy6O7uBhcXF/Dz87uv zaWGh4dBJpPp5MbEYjEEBATorcP+/n6QyWTQ0dEBLi4u4O/vf9eMVaVSCXK5XCdd5ufnBy4uLvdt e02tVkNtbS3I5XIYHh6GyZMnQ2BgIKM8W1tbGzg5OYFUKr1rxurAwADI5XK4efMm2Nvbg5+fH4hE ohFzpGkaGhoaRkiXBQYG3tX9odFoRmBNnDgRgoKC9M4yhoaGQC6Xw40bN8DOzg6kUuldS4QNDg5C XV0dtLa26uTGPDw89OZ49epVqKqqgoGBAZ1fhnITF5bZt0o0Gg3u3bsXIyIidELA7u7uuGrVKt4C psPDw1hYWIhTp07VYYlEoruSzzL2q1JpaSnGxMTo3hhEIhFmZ2djeXk5L7/UarVO6k2L5eLigvHx 8Xjy5EneWPv378eoqCh0cHAYgXU3UlzHjh3DefPm6UqfXFxcMDExEc+cOcMLS6PR4M8//4xz587V YTk5OeHs2bPxyJEjZiOK0DSNZWVlmJiYiC4uLkhRFDo5OWFcXBz+/PPPvON1+vRpXLJkie5tzcHB ASMjI7GkpMRsRBFt+VpOTg6KRCKkKAodHBwwOjoaDx48yFtS7eLFi5iZmal7W7Ozs8OQkBDcvXu3 WbcR5XI5rl69Gt3d3ZGiKLS3t8ewsDAsLCzkHfvq6mpcuXKlDsvGxgalUinA1E63AAAXFklEQVRu 374dBwcHeWPl5eXp3vxsbGzQ398fd+zYYbS+TUZJ3EePHkUvLy+Dez8pKSm8XsX37dtnkF0Jt8QK +KpPG8vOnDmDU6ZMMejX/Pnzeb0O/vzzz4zCDFKpFC9dukSM9dNPPxlkkMIt5mdFRQUxVmVlJQYH BxvEio6O5vU6ePbsWZRIJAaxJk2ahKdOnTLL91hXV4czZsww6FdISAgvAktVVRVjvLy9vc0mN9bc 3MxI1BGLxbxi39DQgFFRUQaxRCIR7tmzx2zbYkxEHW9vbzxy5Agx1rVr1zAuLs4gloODAy+5sZaW FpwzZw4j1s6dOx8M6TKFQoGxsbGshekff/wxkbMdHR0YGRnJirVp0yaTP8n09/djcnIyq19btmwh 8kuhUHBKlz377LNETzIkWM899xwRlkqlYjzw1V4vvfQSsXTZsmXLWLGWL19ucumy4eFhfOmll1j9 evTRR4mesFQqFT777LOsWEuWLEGFQmHyg8ItW7aw+pWUlETELFar1fj666+zYs2YMcPkzGKapvGT Tz5hJSPNnDmT6EBUo9Hgn/70J9Y5BgQEEDGLNRoNfvDBB6xYfn5+2NLSYv7EfeHChREHXoauuLg4 oleEsrIyg+0Q4Q5qqanbntbV1eGECRNY/Zo+fTpRIpLL5ZxSbw4ODkQ3A4kMmpOTE7a3t3NiXb9+ nVEoWHsFBQURS5d5e3tzMmVNfWDY3d2N06dPZ/VLLBYTvSF2dXWxtkqAW61i+W4VGuMhg6l66/aC gPr6ek4spVLJuSYEAgGePXvWpHMcGhrifJBydXUlenNVqVSca4KiKPzxxx+JDmhDQ0M51wQJFpfd c9Fhf38/9PX1sY5pbGzkZENpD5b6+/tZx5hDwmlwcBA6OztZx9TW1hLLVHHJoKlUKmIsLjZXX18f UbyGh4ehtbWVdYxcLieW9eKSQRseHjaKhBPfAy8u6bIrV64QsfK0h1Rcn2dqhh9N01BdXc065saN GzA4OEiE1dDQwDnG1HNEAqZsd3c3Zy7R+s8lQYeIRHPUaDTQ3d1tkjVhFOkytuJ7gF8lr0gK5p2d nTlZkX5+fkQsOWOaMaXL7O3tQSKRsI4JDAwkqnBwcHDglEELCwsjipcxpcusra1h6tSpnN+jqaXL rK2tITo6mnVMVFQUkUSYpaUlzJo1i3XM+PHjTa7yY2FhAQsXLuRcX66urkRY8+fPZx3j7u5uFCku XklLIIDU1FTWMRMmTOCUVAT4P/IZ133m7u7OiWVlZQXTpk1jHePo6Mi7T/t9SdyTJk2CzMxMxr/b 2dlBbm4uEWNNLBZDcnIy6xf21FNPmVy/0svLi1XWy8LCAnJycoio8d7e3qyLjqIoeOyxx4gSt5eX F6SkpLBirVq1iijZuri4QEZGBqt0WWZmJlHsXV1dWbEAAHJzc02e1Ozs7Dily9LT04kSt729PeTk 5LDOMSMjg/OhxthmZWUF6enpjOxJiqIgJSWFKBFZW1tzyrMlJCTw7n9vjB+n1NRU1gel5ORkGD9+ PBFWXl4eKyN1wYIFEBgYSIS1Zs0a1ofUhQsXcj4gmawcsKmpCefPn693WGBlZYW///3veZXA1NbW 4pw5c/SwhEIhPvfcc2Zjv7W1tWFKSoqeXxYWFvjqq6/yYh42NzdjQkKCHpZAIMBHH32Ul3xWc3Mz Ll682CDWqlWreGF1dXXhihUr9Jh5QqEQn376aV6xv3nzJmZnZ+thaWW92trazPI99vX14TPPPKPH zBMIBLh8+XLe0mWG5NkoisJFixaZjfQzMDCAGzZs0GMyUhSFSUlJvKq8lEolrlu3ziBWTEyM2aq8 hoaG8J133kFra2s9v+bOnYtXr14lxhocHMTXXnsNrays9Pakp06dyqvKa2BgADdt2mQQKywsjBeW cQ4naRpRo/n1MlAh0tzcjH/5y18wIiICxWIxpqamYn5+/l1VDjQ1NeEHH3yA4eHhKBaLcfHixfjN N98YPKGnaRo1Gg1qNJp7LrPhwrpx4wZ+8sknGB0drfNr586dBhMaF1Zrayt++OGHGBUVhWKxGOPi 4vDzzz83mDhIsSIjI3VY27ZtM3iQyIXV0dGBn332GcbGxuqwvvzyy7vG+vTTT3HWrFkoFosxJiYG //73v5u9v3lPTw9+9dVXOH/+fBSLxThz5kz87LPPDLJkuebY3d2NX3zxBc6bNw/FYjFOmzYN//a3 vxmkZRtzrZL8QO3atQsTEhJQLBZjZGQkfvzxxwaTNpdfvb29uH37dlyyZAmKxWIMDQ3F9957j1dy vB/348DAABYUFGB6ejqKxWIMCwvDP//5zwYrQLiw+vv78fvvv8e0tDQUi8UYGBiIW7Zswbq6Or3x pFipqakoFosxODiYEYsrrzIZN3OSpgFqLwJcOADQ9AuAlROANB4gcgmAm4/eJv7g4CCoVCpwcHC4 ZwknLZa9vb1eZzdEhOrqaigqKoIff/wRnJycICkpCRITE4mUte/8rMrKSti3bx/8+OOPYGtrC4mJ iZCYmAgTJkzQ+1yVSgWDg4OMflVUVEBJSQmUlpaCnZ0dK9bQ0BAMDAyAnZ0dWFpaGpSpKioqgkOH DoGlpSUkJSVBcnKynnbd7X4xYclkMti3bx8cOnQIKIqChIQESEpKArFYzOgX0xy1WAcOHAChUAiJ iYmQlJQEU6ZM0RurPXS2tbUFKyurB6Jhl9avgYEBsLW1NRivhoYG2LdvH+zfvx+Gh4chISEBEhMT wd/fX2+sWq0GpVIJNjY2BjvctbS06LCUSiUkJCRAcnKynjSeseeoVquhv78frK2tDfrV1NQE+/bt g5KSEujr64P4+HhISkqC4OBgPak37Rytra3Bxsbmvn6Pra2tUFJSAiUlJdDe3g4LFiyAxMREPRk0 vCX/p1QqwcrKyqBfhrCSkpIgPDycEcvS0hJsbW31sDo7O2H//v2wb98+aG1thfnz50NycjJMnTrV IFZfXx9YWVkZxILudoCzBwGqDwEM3AB4JAYgbAlAQCQA19Yye2GiGvHwTsQtIYhvi0de78cjNpqn bwBN01hUVKRXjkVRFM6fP5+XdJlGo8E9e/YYLO2aPn06njt3jvjpSKPRYGFhoUGsyMhIXlg0TePh w4cNlmPFxMTwlnorLS1FqVSqhxUcHIzHjh3j5RcTVmho6EMj9Xb8+HGDpV1+fn546NAhXnO8ePEi zpo1S287KyAgAEtLS80SL5qm8fz58wZVgyZOnIgFBQVmY7dWV1fjvHnz9OLl7e2N33zzDS8eR1VV FcbFxRkF68qVK5iWlqaH5ePjgzt27OAXr+uNiH/J0s+rmwMRi/8/xOGhe9gqqTqDuCVYH1x7/Tkd sa/H5F+sTCZjZOUBAC5dupRYuqyyspKREQkAOHv2bKI6aBKsuLg44qZVzc3NGBYWxoiVkJBAXM/e 2NiIISEhjFjTpk3Da9euEWE1NDQwsgW1P1Dm6N5mTOOSQQsKCsKGhgYiLIVCgUlJSYxY4eHh933L wZB1dnbi/PnzGf2aPHkyVlZWmtyv3t5eTE9PZ/TLy8uLmPnZ29uLqamprFinT58mwlKpVPj000+z 1sYTS5epBhA/eZw5r272Rzz7413WcSMCnNgFQA8wP673VgJUnTb5K25JSQnU1dUxjtmzZw+cP3+e CG/Xrl2starHjx+H0tJSIr+2b9/OivXzzz/DoUOHiPwqLS1lrVU9cOAA/PLLL0RY33//PVRUVDD+ /dy5c1BQUECk8vPtt99CZWUl49/LysogPz8fRrMVFhbC6dPM6/ry5cuwfft2onidPHkSSkpKGP9+ 4cIF2Ldvn8nneOjQIVb1p8bGRvjf//1fkys/nThxAoqLixn/fuPGDfjnP/9JpNZ0/Phx1tjfuHED /vWvfxFh1dTUwK5duxj/fv36ddi9ezdZvGovAbSz3Ls4DHDscwCk76IcEBHgOldioAG6W38da0Lj khtTqVRQX19PJF3GJalG0zSRpBpN01BWVsb5eaQyaD/99BMnVlVVFdEcz5w5w/l5zc3NnAuYpmko Ly/nxGpsbBy1Mmg0TYNcLue+9251H+Sys2fPcn5HJ06cMGm8EBGuXLnC6ReJJJmxrampifMzq6qq OEksiAjXrl3jxDp//jwRQc2o0mU9bQDIEde++l+f5XknbgAASwKChNACwMRnTVwF7BRFER+ekMp6 cRlFUUStT0nVSUhIDSSEH1JZL9KDZBIilakVWIxpFEWx1vTynSPJ+nJycjL5gS0J5+DOA1tT+cX1 mUKhkLN1M0VRRN+RtbU1URtoW1tbTi4KcdtWgQVwJ032vwtYZg4QlMWBbQ0wMQhMmbkpioLU1FTW YLu6ukJ4eDgRFhfBwMbGhki6TCAQQFZWFus4LXOP5MtNSUlhXSg2NjYQGxtLhJWZmcmKJRQKITY2 lnMBaxlrXDJo8+bNG7UyaBRFwcKFC1njJRAIIDExkYhUNn/+fNYfWKFQCKmpqSZNkBRFQUxMDKcM WmZmpsl/hEmky7Kzs4keIMLCwlhJXloZNJI5BgcHg4+PDytWTk4O2bqf4A8g4HiYEif/moNZXimY rf064gcpDJvoEsRd7yKaoedwd3c35uTkMEqX/fnPfyY+4e3o6GA8DBEIBPjqq68S9xzu6OhgbDUp EAh4yaD19fXh448/brADmkAgwP/3//4fDg8PEx+QPfroo6zSZaT19gqFAleuXMmI9eyzzz7UMmgU RWFeXh5x17+hoSF86623DMqNURSFq1evJj5INzaBZdOmTYwyaCkpKWZRf1Kr1fjuu+8yyqDNnTuX +CBdrVbj1q1bGbHmzZtHjEXTNH7++ed6hB/ttXDhQnJSGa1BLPoU8W0/w7n13bmILfX3SMBpqUf8 +HHEzQH/l7C3TEX84S+IA0qz3VwtLS34/PPPo5ubG1IUhQKBAMeNG4cffvghb9JPc3MzPvXUU7qm 8xRFobe3N27evJm3pFpzczOuXbtWD2vLli28W3zevHkTX3nlFfTw8NDN0dvbG999913eWG1tbfjy yy/rGsVTFIWenp64YcMG3jdoW9v/397ZxTS1ZXH8f1pob20Qqkwt34MCrcQHZry5OkyMgWgy8kDC ACLqFY3JvOmDL8aEB68OccAwMvg4xg90jBohRKMx8vEwI0SNEDFo2lMjHAHhggyFAqWlPWseuG1g +nV6KRTD/r3unZW1z2nX/jh7rf8onT592svW2bNnI6J5uFK3Ls6dO+eRCOM4juLj4+nUqVMhS71Z rVaqrq6mhIQEkslkHltnzpyJWAapexK+ePEi6XQ6TwDftGkTnTx5MqJSb7Ozs3TlyhVKSkryZKXG xcVRWVlZyPJsMzMzVFtbS0lJSZ4xxsXFUXl5eci27HY7Xb9+ndLS0pb4dezYMUnVFpfOnHNET/9J dDFnIaa6b5NcKSXq+xCGBBwAsNuAzyZgfAiQK4CkDECXBizeFhABk+PAgAmYmwE0W4CULECpWrFt lcPhgMlkgiAIiI6Ohl6vR2pq6q/aptvtdvA8D0EQIJfLkZGR4SWpFootk8mEz58/L9vW/Pw8zGYz +vr6IJPJkJmZ+avl2Rbb4jgOW7du9SnPJtUWz/Po7+8PaMtiscBkMmFiYgJxcXHLkpYKJ1arFUaj EePj49BoNDAYDF6yXm6JsE+fPkEURaSnp/uUenPL2bmly/R6PTZv3rxkjO7KhGazGS6XC+np6cjM zJR01rySuCXCzGYznE4n0tLSoNfrvY4ipqenwfM8RkdHoVarkZWVBa1Wu2LvURRFCIIAs9kMu92O 5ORkGAwGr2Mnm80GnucxMjICtVoNvV6P+Ph4L7kxQRDA8zwcDodfW245O7fcWGZmJhISErySrYaG hmA0GmGz2ZCcnOxbnm1uFhg0AxMjgEIFJGUCm3VLjz+IgNFBYJAHHDZgUwKQagBUEorohWWKdDmJ /tNMVPUHop9+Wf7/ZCCq/5FIMBJj/eFyuai9vZ12797tkaBTq9W0a9cuam1tjah02cuXL2nfvn0e 2Ti1Wk25ubnU3t4ekl8ul4s6OzspLy/PY0ulUlFOTg49evRI8lHWWkYUReru7qaCggKPBJ1SqaTt 27fT/fv3IypdZjQaqaysjDQajUduLDs7mx4+fBhSYo0oivT+/XsqKSnx1MpXKBS0bds2unHjRojS ZeLCivkf5YtOKTKI/rqT6HkDkX0uLGMPT+Duaie6kO0nSadw4aycsa54/fq1X6GBxMRE6ujoiIhf ZrPZb+F8g8EQUkZqb28v6fV6n7bi4+Pp+fPn3/x7/PjxI+Xk5PgcY2xsLDU1NUUk83NkZIQOHDjg 0y+tVkstLS2SbQ0MDFBubq5PWyqVim7duiV9jD8PEP0t309iTRZR679Cqknij+V/+p+ZAlqqANFP YXZrL9DRuOp3vRmRw2azobq6GoIg+Gz/8uUL6urqYLPZVtWv+fl51NfXo6ury2e70WhETU2NJJEB h8OB+vp6mEwmn+1fv37F5cuXg979Xcs4nU5cu3YNb9++9dk+OTmJS5cuYXx8fFX9EkURDx48wLNn z3y2j46OorKyMqiogdvW3bt30dnZ6fe3XFVVFVRsYeH4QgT+fQ+Y6/fT7gRe/h0Y+7LsZ7D8wD3c B9iDDMr4CHDOg7E+sFgsQRObmpqaVv0PPzs7ixcvXgTs09nZicnJSUm2AmXlAUBbW1tQVaG1jMPh QGNjY8A+b9688TtBr+S5/NOnTwMmELm/MUmZzO/duxewj9lsBs/zElYGDoBvDDIbWoBB0xoI3Pa5 4FlAjjHA5QRjfSCKIsbGxoL++SIhXTY4OBiwz9DQkGR5tmC2RFFc9TGG+z0ODAwE+0a26mOkXyqD BmJqakrSjo6IMDw8HLSPJLkx0QWIweTSKCyL2OUHbo0WkAfJGPzND4BCCcb6QKlUBk2A0uv1Xrc4 VsOvcEqXBZO8Sk1NlSQRtlaJiopCfn5+wD5arTYi0mWBlLIA6dJlUVFR2Lt3b8A+MTExkmwhWgFs DKJuw0UDG9eAdBm2pADJfwrgaBTw+2JAJgdjfaDRaIJmkZaXl6964N6wYUPALFK3PJuUNHW1Wo3S 0tKAYywqKpL2h1/DE/ChQ4cCXmMtKCgIqse6EhNKYWGh3xITHMehsLAQKSkpQW3J5XIcPnw4YCbm /v37JUmXQR4FfH8EQIBYp/ke+O3ypcvk58+fP7/M6Q9I3rFQJdAx+n9PUA5k/wXIO8QC9zpCJpNh x44dEAQBHz58WHIWKZPJUFJSggsXLkjS1QwnHMfBYDDAYrGgu7t7SWEnmUyGI0eOoLKyUnINmOzs bIyNjaGnp2fJGN0iFTU1Nauuqxnu55WVlYWZmRl0dXUteV4cx2HPnj2oq6uLyOSUmpoKpVKJjo6O JYWkOI5Dfn4+amtrJT17juOQnp4OURTx6tUrr6JUO3fuxNWrV72ES/xYW8hvGbECE73wqhKlTAGK q4H4xOW/G0kJOFL4789AZzPw/gHgnAY2ZgE/HAZ+lwcovmPRbB1isVjQ3NyMhoYGDA8PQ6vVoqKi AkVFRRE9QpiensaTJ09w8+ZN9Pf3Q6fT4cSJEygsLAw50FqtVjx+/BgNDQ0QBAGxsbE4fvw4iouL v+nV9mLcH2Jv374Nk8kElUqFiooKlJaWIjExMWJ+2e12tLW1oaGhAT09PYiJiUFFRQWKi4uh0+lC sjU3N4eWlhbcuXMH7969g0KhwNGjR3Hw4MHQdxSOOaCrFXhzH5jiAZkC0P8Z+GMxsCU8wsrhC9zA wpW/xea+0UJDDITxJ0Feq9G1Il0WLr/W6hjXw3sE4LUTWI5f4bSFxaV6OS5w0aiIBm4Gg8FgrDhs ScxgMBgscDMYDAaDBW4Gg8FgsMDNYDAYLHAzGAwGY1X4H5laeV5JNxyxAAAAAElFTkSuQmCC " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
(5)
</div>
</div>
</td>
</tr>
</table></div>
<div style="text-align:center"><table style="width:100%;margin-left:auto;margin-right:auto" class="layout">
<col span="1" style="width:100%;">
<tr><td style="text-align:center">
Orientation at zero degree of a Aztec symbol (1), ECC200 symbol (2),
QR code symbol (3), PDF417 symbol (4) and DotCode symbol (5). The
respective finder patterns or characteristic points are highlighted.
</td></tr>
</table></div>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span></i>:</b></dt>
<dd>
<p>

Data Matrix ECC 200, QR Code, Micro QR Code, Aztec Code, and DotCode:</p>
<p>
detected size of the symbol in  modules: number of rows and columns
including the finder pattern;</p>
<p>
PDF417:</p>
<p>
detected number of rows and data columns (each 17 modules
wide) within the symbol (excluding the start/stop patterns and
the row indicators).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_height'</span><span data-if="c" style="display:none">"module_height"</span><span data-if="cpp" style="display:none">"module_height"</span><span data-if="com" style="display:none">"module_height"</span><span data-if="dotnet" style="display:none">"module_height"</span><span data-if="python" style="display:none">"module_height"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span></i>:</b></dt>
<dd>
<p>

Height and width of the modules in pixels.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoded_string'</span><span data-if="c" style="display:none">"decoded_string"</span><span data-if="cpp" style="display:none">"decoded_string"</span><span data-if="com" style="display:none">"decoded_string"</span><span data-if="dotnet" style="display:none">"decoded_string"</span><span data-if="python" style="display:none">"decoded_string"</span></i>:</b></dt>
<dd>
<p>

Result string that is encoded in the symbol - this query
is useful only for successfully decoded strings.
It returns the same string as <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding_error'</span><span data-if="c" style="display:none">"decoding_error"</span><span data-if="cpp" style="display:none">"decoding_error"</span><span data-if="com" style="display:none">"decoding_error"</span><span data-if="dotnet" style="display:none">"decoding_error"</span><span data-if="python" style="display:none">"decoding_error"</span></i>:</b></dt>
<dd>
<p>

Decoding error - for successfully decoded symbols this is the
number of errors that were detected and corrected by the error
correction. The number of errors corresponds here to the number of
code words that lead to errors when trying to read them.
For PDF417 this number includes erasures, i.e. errors with known
locations. If the error correction failed, a negative error code is
returned.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200, Aztec Code, PDF417 QR Code, and Micro QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'pass'</span><span data-if="c" style="display:none">"pass"</span><span data-if="cpp" style="display:none">"pass"</span><span data-if="com" style="display:none">"pass"</span><span data-if="dotnet" style="display:none">"pass"</span><span data-if="python" style="display:none">"pass"</span></i>:</b></dt>
<dd>
<p>

Number of the pass in which the candidate was generated and
processed, see also <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> (Functionality of the
symbol search).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i>:</b></dt>
<dd>
<p>

Robustness of the decoding of data codes with very small
module sizes. For <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> the data code was decoded with a
method that has only a small robustness regarding very small
module sizes. For <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> the data code was decoded with
a method that has a high robustness in this regard.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'contrast'</span><span data-if="c" style="display:none">"contrast"</span><span data-if="cpp" style="display:none">"contrast"</span><span data-if="com" style="display:none">"contrast"</span><span data-if="dotnet" style="display:none">"contrast"</span><span data-if="python" style="display:none">"contrast"</span></i>:</b></dt>
<dd>
<p>

Estimation of the symbol's contrast.
This value is based on the gradient of the edge between the
finder pattern and the background.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data matrix ECC 200, Aztec Code, QR Code, Micro QR Code, and DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'module_gap'</span><span data-if="c" style="display:none">"module_gap"</span><span data-if="cpp" style="display:none">"module_gap"</span><span data-if="com" style="display:none">"module_gap"</span><span data-if="dotnet" style="display:none">"module_gap"</span><span data-if="python" style="display:none">"module_gap"</span></i>:</b></dt>
<dd>
<p>

Assumption about the module gap that was used for
searching the candidate.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data matrix ECC 200, Aztec Code, QR Code, PDF417, and DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i>:</b></dt>
<dd>
<p>

The <i>Symbology Identifier</i> is used to indicate that
the data code contains the FNC1 and/or ECI characters.
</p>
<p>FNC1 (<i>Function 1 Character</i>) is used if the data
formatting conforms to specific predefined industry standards.
</p>
<p>The ECI protocol (<i>Extended Channel Interpretation</i>)
is used to change the default interpretation of the encoded data.
A 6-digit code number after the ECI character switches the
interpretation of the following characters from the default
to a specific code page like an international character set.
In the output stream the ECI switch is coded as
<i><span data-if="hdevelop" style="display:inline">'\nnnnnn'</span><span data-if="c" style="display:none">"\nnnnnn"</span><span data-if="cpp" style="display:none">"\nnnnnn"</span><span data-if="com" style="display:none">"\nnnnnn"</span><span data-if="dotnet" style="display:none">"\nnnnnn"</span><span data-if="python" style="display:none">"\nnnnnn"</span></i>.
Therefore all backslashes
(<i><span data-if="hdevelop" style="display:inline">'\'</span><span data-if="c" style="display:none">"\"</span><span data-if="cpp" style="display:none">"\"</span><span data-if="com" style="display:none">"\"</span><span data-if="dotnet" style="display:none">"\"</span><span data-if="python" style="display:none">"\"</span></i>, ASCII code 92), that
occur in the normal output stream have to be doubled.
</p>
<p>The <i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i> parameter returns only the actual
identifier value <i>m</i>
(<span title="1" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.21091em" height="1.12127em" viewBox="0 0 67.374634 17.940399">
<!-- Original BoundingBox: -33.687317 -8.970200 33.687317 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_54">
      <path style="fill-rule: evenodd;" d="M132.000000 -328.000000L132.000000 -352.000000C132.000000 -605.000000,256.000000 -641.000000,307.000000 -641.000000C331.000000 -641.000000,373.000000 -635.000000,395.000000 -601.000000C380.000000 -601.000000,340.000000 -601.000000,340.000000 -556.000000C340.000000 -525.000000,364.000000 -510.000000,386.000000 -510.000000C402.000000 -510.000000,432.000000 -519.000000,432.000000 -558.000000C432.000000 -618.000000,388.000000 -666.000000,305.000000 -666.000000C177.000000 -666.000000,42.000000 -537.000000,42.000000 -316.000000C42.000000 -49.000000,158.000000 22.000000,251.000000 22.000000C362.000000 22.000000,457.000000 -72.000000,457.000000 -204.000000C457.000000 -331.000000,368.000000 -427.000000,257.000000 -427.000000C189.000000 -427.000000,152.000000 -376.000000,132.000000 -328.000000M251.000000 -6.000000C188.000000 -6.000000,158.000000 -66.000000,152.000000 -81.000000C134.000000 -128.000000,134.000000 -208.000000,134.000000 -226.000000C134.000000 -304.000000,166.000000 -404.000000,256.000000 -404.000000C272.000000 -404.000000,318.000000 -404.000000,349.000000 -342.000000C367.000000 -305.000000,367.000000 -254.000000,367.000000 -205.000000C367.000000 -157.000000,367.000000 -107.000000,350.000000 -71.000000C320.000000 -11.000000,274.000000 -6.000000,251.000000 -6.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_91">
      <path style="fill-rule: evenodd;" d="M255.000000 250.000000L255.000000 210.000000L158.000000 210.000000L158.000000 -710.000000L255.000000 -710.000000L255.000000 -750.000000L118.000000 -750.000000L118.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_93">
      <path style="fill-rule: evenodd;" d="M159.000000 -750.000000L22.000000 -750.000000L22.000000 -710.000000L119.000000 -710.000000L119.000000 210.000000L22.000000 210.000000L22.000000 250.000000L159.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.328674 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.752106 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.806732 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_91"></use>
    <use xlink:href="#GLYPHcmr10_48" x="2.777830"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.204849 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,53.289368 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_54"></use>
    <use xlink:href="#GLYPHcmr10_93" x="5.000095"></use>
  </g>
</svg></span> (QR-Code),
<span title="2" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.70906em" height="1.12127em" viewBox="0 0 75.344910 17.940399">
<!-- Original BoundingBox: -37.672455 -8.970200 37.672455 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_50">
      <path style="fill-rule: evenodd;" d="M127.000000 -77.000000L233.000000 -180.000000C389.000000 -318.000000,449.000000 -372.000000,449.000000 -472.000000C449.000000 -586.000000,359.000000 -666.000000,237.000000 -666.000000C124.000000 -666.000000,50.000000 -574.000000,50.000000 -485.000000C50.000000 -429.000000,100.000000 -429.000000,103.000000 -429.000000C120.000000 -429.000000,155.000000 -441.000000,155.000000 -482.000000C155.000000 -508.000000,137.000000 -534.000000,102.000000 -534.000000C94.000000 -534.000000,92.000000 -534.000000,89.000000 -533.000000C112.000000 -598.000000,166.000000 -635.000000,224.000000 -635.000000C315.000000 -635.000000,358.000000 -554.000000,358.000000 -472.000000C358.000000 -392.000000,308.000000 -313.000000,253.000000 -251.000000L61.000000 -37.000000C50.000000 -26.000000,50.000000 -24.000000,50.000000 -0.000000L421.000000 -0.000000L449.000000 -174.000000L424.000000 -174.000000C419.000000 -144.000000,412.000000 -100.000000,402.000000 -85.000000C395.000000 -77.000000,329.000000 -77.000000,307.000000 -77.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_91">
      <path style="fill-rule: evenodd;" d="M255.000000 250.000000L255.000000 210.000000L158.000000 210.000000L158.000000 -710.000000L255.000000 -710.000000L255.000000 -750.000000L118.000000 -750.000000L118.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_93">
      <path style="fill-rule: evenodd;" d="M159.000000 -750.000000L22.000000 -750.000000L22.000000 -710.000000L119.000000 -710.000000L119.000000 210.000000L22.000000 210.000000L22.000000 250.000000L159.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.343536 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.766968 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.821594 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_91"></use>
    <use xlink:href="#GLYPHcmr10_48" x="2.777830"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.219711 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,53.304230 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
    <use xlink:href="#GLYPHcmr10_50" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_93" x="10.000190"></use>
  </g>
</svg></span> (Data Matrix ECC 200 and Aztec Code),
<span title="3" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.21091em" height="1.12127em" viewBox="0 0 67.374634 17.940399">
<!-- Original BoundingBox: -33.687317 -8.970200 33.687317 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_50">
      <path style="fill-rule: evenodd;" d="M127.000000 -77.000000L233.000000 -180.000000C389.000000 -318.000000,449.000000 -372.000000,449.000000 -472.000000C449.000000 -586.000000,359.000000 -666.000000,237.000000 -666.000000C124.000000 -666.000000,50.000000 -574.000000,50.000000 -485.000000C50.000000 -429.000000,100.000000 -429.000000,103.000000 -429.000000C120.000000 -429.000000,155.000000 -441.000000,155.000000 -482.000000C155.000000 -508.000000,137.000000 -534.000000,102.000000 -534.000000C94.000000 -534.000000,92.000000 -534.000000,89.000000 -533.000000C112.000000 -598.000000,166.000000 -635.000000,224.000000 -635.000000C315.000000 -635.000000,358.000000 -554.000000,358.000000 -472.000000C358.000000 -392.000000,308.000000 -313.000000,253.000000 -251.000000L61.000000 -37.000000C50.000000 -26.000000,50.000000 -24.000000,50.000000 -0.000000L421.000000 -0.000000L449.000000 -174.000000L424.000000 -174.000000C419.000000 -144.000000,412.000000 -100.000000,402.000000 -85.000000C395.000000 -77.000000,329.000000 -77.000000,307.000000 -77.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_91">
      <path style="fill-rule: evenodd;" d="M255.000000 250.000000L255.000000 210.000000L158.000000 210.000000L158.000000 -710.000000L255.000000 -710.000000L255.000000 -750.000000L118.000000 -750.000000L118.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_93">
      <path style="fill-rule: evenodd;" d="M159.000000 -750.000000L22.000000 -750.000000L22.000000 -710.000000L119.000000 -710.000000L119.000000 210.000000L22.000000 210.000000L22.000000 250.000000L159.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.328674 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.752106 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.806732 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_91"></use>
    <use xlink:href="#GLYPHcmr10_48" x="2.777830"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.204849 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,53.289368 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_50"></use>
    <use xlink:href="#GLYPHcmr10_93" x="5.000095"></use>
  </g>
</svg></span> (PDF417) bzw.
<span title="4" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.21091em" height="1.12127em" viewBox="0 0 67.374634 17.940399">
<!-- Original BoundingBox: -33.687317 -8.970200 33.687317 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_53">
      <path style="fill-rule: evenodd;" d="M449.000000 -201.000000C449.000000 -320.000000,367.000000 -420.000000,259.000000 -420.000000C211.000000 -420.000000,168.000000 -404.000000,132.000000 -369.000000L132.000000 -564.000000C152.000000 -558.000000,185.000000 -551.000000,217.000000 -551.000000C340.000000 -551.000000,410.000000 -642.000000,410.000000 -655.000000C410.000000 -661.000000,407.000000 -666.000000,400.000000 -666.000000C399.000000 -666.000000,397.000000 -666.000000,392.000000 -663.000000C372.000000 -654.000000,323.000000 -634.000000,256.000000 -634.000000C216.000000 -634.000000,170.000000 -641.000000,123.000000 -662.000000C115.000000 -665.000000,113.000000 -665.000000,111.000000 -665.000000C101.000000 -665.000000,101.000000 -657.000000,101.000000 -641.000000L101.000000 -345.000000C101.000000 -327.000000,101.000000 -319.000000,115.000000 -319.000000C122.000000 -319.000000,124.000000 -322.000000,128.000000 -328.000000C139.000000 -344.000000,176.000000 -398.000000,257.000000 -398.000000C309.000000 -398.000000,334.000000 -352.000000,342.000000 -334.000000C358.000000 -297.000000,360.000000 -258.000000,360.000000 -208.000000C360.000000 -173.000000,360.000000 -113.000000,336.000000 -71.000000C312.000000 -32.000000,275.000000 -6.000000,229.000000 -6.000000C156.000000 -6.000000,99.000000 -59.000000,82.000000 -118.000000C85.000000 -117.000000,88.000000 -116.000000,99.000000 -116.000000C132.000000 -116.000000,149.000000 -141.000000,149.000000 -165.000000C149.000000 -189.000000,132.000000 -214.000000,99.000000 -214.000000C85.000000 -214.000000,50.000000 -207.000000,50.000000 -161.000000C50.000000 -75.000000,119.000000 22.000000,231.000000 22.000000C347.000000 22.000000,449.000000 -74.000000,449.000000 -201.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_91">
      <path style="fill-rule: evenodd;" d="M255.000000 250.000000L255.000000 210.000000L158.000000 210.000000L158.000000 -710.000000L255.000000 -710.000000L255.000000 -750.000000L118.000000 -750.000000L118.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_93">
      <path style="fill-rule: evenodd;" d="M159.000000 -750.000000L22.000000 -750.000000L22.000000 -710.000000L119.000000 -710.000000L119.000000 210.000000L22.000000 210.000000L22.000000 250.000000L159.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.328674 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.752106 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.806732 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_91"></use>
    <use xlink:href="#GLYPHcmr10_48" x="2.777830"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.204849 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,53.289368 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_53"></use>
    <use xlink:href="#GLYPHcmr10_93" x="5.000095"></use>
  </g>
</svg></span> (DotCode))
according to the specification of Data matrix, QR Codes, Aztec Code,
PDF417, and DotCode but not the identifier prefixes ']d', ']Q', ']z',
']L', and ']J' for Data matrix, QR Codes, Aztec Codes, PDF417,
and DotCode, respectively.
If required, this <i>Symbology Identifier</i> composed of
the prefix and the value <i>m</i> has to be preceded the
decoded string (normally only if <i>m</i> &gt; 1) manually
(for Data Matrix ECC 200 and Aztec Codes, the values
10, 11, and 12 have to be converted to A, B, and C, respectively). </p>
<p>
GS1 symbologies have the following identifiers:
']d2' for GS1 DataMatrix, ']Q3' for GS1 QR Code, ']z1' for GS1
Aztec Code, and ']J1' for GS1 DotCode.
Therefore, the <i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i> parameter
返回值s 2, 3, and 1, respectively. </p>
<p>
Symbols that contain ECI codes (and hence doubled backslashes)
can be recognized by the following identifier values:
Data Matrix ECC 200: 4, 5, 6, 10, 11 and 12,
QR Code: 2, 4, and 6, PDF417: 1,
Aztec Code: 3, 4, 5, 9, 10, and 11, DotCode: 3, 4, and 5.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200 and DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'reader_programming'</span><span data-if="c" style="display:none">"reader_programming"</span><span data-if="cpp" style="display:none">"reader_programming"</span><span data-if="com" style="display:none">"reader_programming"</span><span data-if="dotnet" style="display:none">"reader_programming"</span><span data-if="python" style="display:none">"reader_programming"</span></i>:</b></dt>
<dd>
<p>

If the symbol contains a Reader Programming character that indicates
that the symbol encodes a message used to program the reader system,
this parameter returns <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>, otherwise this parameter
returns <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>. The decoded message does not contain the
Reader Programming character.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'slant'</span><span data-if="c" style="display:none">"slant"</span><span data-if="cpp" style="display:none">"slant"</span><span data-if="com" style="display:none">"slant"</span><span data-if="dotnet" style="display:none">"slant"</span><span data-if="python" style="display:none">"slant"</span></i>:</b></dt>
<dd>
<p>

Slant of the L-shaped finder pattern in radians.
This is the difference between the angle of the 'L' and the
right angle.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i>:</b></dt>
<dd>
<p>

This parameter informs about the algorithm that found the
symbol. For <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> the symbol was found with the
algorithm that has only a small tolerance with respect to a
defect or partially occluded finder pattern. For
<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> the symbol was found with the algorithm that
has a high tolerance in this regard. Please note that when
using both algorithms simultaneously it may happen that
symbols with an undisturbed finder pattern are found from the
algorithm of high tolerance.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i>:</b></dt>
<dd>
<p>

This parameter informs about the algorithm that was used to
correct local contrast variations in the symbol search. For
<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> the symbol was found using an algorithm to
correct strong local contrast variations. For <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>
the symbol was found with the faster algorithm, which
however is less robust with respect to local contrast
variations.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span></i>:</b></dt>
<dd>
<p>

For symbols that could be decoded, this parameter informs
about the algorithm that was used for calculating the module
grid: If a variable grid was used it returns
<i><span data-if="hdevelop" style="display:inline">'variable'</span><span data-if="c" style="display:none">"variable"</span><span data-if="cpp" style="display:none">"variable"</span><span data-if="com" style="display:none">"variable"</span><span data-if="dotnet" style="display:none">"variable"</span><span data-if="python" style="display:none">"variable"</span></i>, and otherwise <i><span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span></i>.  For
symbols that could not be decoded, it returns the method that
was used during the last decoding trial or, if the candidate
was rejected before the decoding, the corresponding model
setting.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> QR Codes:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span></i>:</b></dt>
<dd>
<p>

Version number that corresponds to the size of the symbol
(version 1 = 21 x 21,
version 2 = 25 x 25,
..., version 40 = 177 x 177).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Detected size of the symbol in modules.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span></i>:</b></dt>
<dd>
<p>

Type of the QR Code Model.
In HALCON the older, original specification for QR
Codes Model 1 as well as the newer, enhanced form Model 2
are supported.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i>:</b></dt>
<dd>
<p>

If a candidate is recognized as a QR Code, the first step is
to read the format information encoded in the symbol.
This includes the level of error correction
(<i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i> <span title="5" style="vertical-align:-0.139466em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.790173em" height="0.701033em" viewBox="0 0 12.642761 11.216522">
<!-- Original BoundingBox: -6.321381 -5.608261 6.321381 5.608261 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.694611 8.985062)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
</svg></span>
[<i><span data-if="hdevelop" style="display:inline">'L'</span><span data-if="c" style="display:none">"L"</span><span data-if="cpp" style="display:none">"L"</span><span data-if="com" style="display:none">"L"</span><span data-if="dotnet" style="display:none">"L"</span><span data-if="python" style="display:none">"L"</span></i> (Low), <i><span data-if="hdevelop" style="display:inline">'M'</span><span data-if="c" style="display:none">"M"</span><span data-if="cpp" style="display:none">"M"</span><span data-if="com" style="display:none">"M"</span><span data-if="dotnet" style="display:none">"M"</span><span data-if="python" style="display:none">"M"</span></i> (Medium), <i><span data-if="hdevelop" style="display:inline">'Q'</span><span data-if="c" style="display:none">"Q"</span><span data-if="cpp" style="display:none">"Q"</span><span data-if="com" style="display:none">"Q"</span><span data-if="dotnet" style="display:none">"Q"</span><span data-if="python" style="display:none">"Q"</span></i> (Quartile),
<i><span data-if="hdevelop" style="display:inline">'H'</span><span data-if="c" style="display:none">"H"</span><span data-if="cpp" style="display:none">"H"</span><span data-if="com" style="display:none">"H"</span><span data-if="dotnet" style="display:none">"H"</span><span data-if="python" style="display:none">"H"</span></i> (High)]).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'mask_pattern_ref'</span><span data-if="c" style="display:none">"mask_pattern_ref"</span><span data-if="cpp" style="display:none">"mask_pattern_ref"</span><span data-if="com" style="display:none">"mask_pattern_ref"</span><span data-if="dotnet" style="display:none">"mask_pattern_ref"</span><span data-if="python" style="display:none">"mask_pattern_ref"</span></i>:</b></dt>
<dd>
<p>

Additionally, the format information encoded in the symbol include a
code for the pattern that was used for masking the data modules
(0 <span title="6" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
</svg></span> <i><span data-if="hdevelop" style="display:inline">'mask_pattern_ref'</span><span data-if="c" style="display:none">"mask_pattern_ref"</span><span data-if="cpp" style="display:none">"mask_pattern_ref"</span><span data-if="com" style="display:none">"mask_pattern_ref"</span><span data-if="dotnet" style="display:none">"mask_pattern_ref"</span><span data-if="python" style="display:none">"mask_pattern_ref"</span></i> <span title="7" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
</svg></span> 7).
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Micro QR Codes:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span></i>:</b></dt>
<dd>
<p>

Version number that corresponds to the size of the symbol
(version M1 = 11 x 11,
version M2 = 13 x 13,
version M3 = 15 x 15,
version M4 = 17 x 17 ).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Detected size of the symbol in modules.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i>:</b></dt>
<dd>
<p>

If a candidate is recognized as a Micro QR Code, the first step is
to read the format information encoded in the symbol.
This includes the level of error correction
(<i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i> <span title="8" style="vertical-align:-0.139466em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.790173em" height="0.701033em" viewBox="0 0 12.642761 11.216522">
<!-- Original BoundingBox: -6.321381 -5.608261 6.321381 5.608261 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.694611 8.985062)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
</svg></span>
[<i><span data-if="hdevelop" style="display:inline">'N'</span><span data-if="c" style="display:none">"N"</span><span data-if="cpp" style="display:none">"N"</span><span data-if="com" style="display:none">"N"</span><span data-if="dotnet" style="display:none">"N"</span><span data-if="python" style="display:none">"N"</span></i> (None), <i><span data-if="hdevelop" style="display:inline">'L'</span><span data-if="c" style="display:none">"L"</span><span data-if="cpp" style="display:none">"L"</span><span data-if="com" style="display:none">"L"</span><span data-if="dotnet" style="display:none">"L"</span><span data-if="python" style="display:none">"L"</span></i> (Low), <i><span data-if="hdevelop" style="display:inline">'M'</span><span data-if="c" style="display:none">"M"</span><span data-if="cpp" style="display:none">"M"</span><span data-if="com" style="display:none">"M"</span><span data-if="dotnet" style="display:none">"M"</span><span data-if="python" style="display:none">"M"</span></i> (Medium),
<i><span data-if="hdevelop" style="display:inline">'Q'</span><span data-if="c" style="display:none">"Q"</span><span data-if="cpp" style="display:none">"Q"</span><span data-if="com" style="display:none">"Q"</span><span data-if="dotnet" style="display:none">"Q"</span><span data-if="python" style="display:none">"Q"</span></i> (Quartile)]).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'mask_pattern_ref'</span><span data-if="c" style="display:none">"mask_pattern_ref"</span><span data-if="cpp" style="display:none">"mask_pattern_ref"</span><span data-if="com" style="display:none">"mask_pattern_ref"</span><span data-if="dotnet" style="display:none">"mask_pattern_ref"</span><span data-if="python" style="display:none">"mask_pattern_ref"</span></i>:</b></dt>
<dd>
<p>

Additionally, the format information encoded in the symbol include a
code for the pattern that was used for masking the data modules
(0 <span title="9" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
</svg></span> <i><span data-if="hdevelop" style="display:inline">'mask_pattern_ref'</span><span data-if="c" style="display:none">"mask_pattern_ref"</span><span data-if="cpp" style="display:none">"mask_pattern_ref"</span><span data-if="com" style="display:none">"mask_pattern_ref"</span><span data-if="dotnet" style="display:none">"mask_pattern_ref"</span><span data-if="python" style="display:none">"mask_pattern_ref"</span></i> <span title="10" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
</svg></span> 7).
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> PDF417:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'module_aspect'</span><span data-if="c" style="display:none">"module_aspect"</span><span data-if="cpp" style="display:none">"module_aspect"</span><span data-if="com" style="display:none">"module_aspect"</span><span data-if="dotnet" style="display:none">"module_aspect"</span><span data-if="python" style="display:none">"module_aspect"</span></i>:</b></dt>
<dd>
<p>

Module aspect ratio; this corresponds to the ratio of
<i><span data-if="hdevelop" style="display:inline">'module_height'</span><span data-if="c" style="display:none">"module_height"</span><span data-if="cpp" style="display:none">"module_height"</span><span data-if="com" style="display:none">"module_height"</span><span data-if="dotnet" style="display:none">"module_height"</span><span data-if="python" style="display:none">"module_height"</span></i> to <i><span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i>:</b></dt>
<dd>
<p>

If a candidate is recognized as a PDF417 the first step is
to read the format information encoded in the symbol.
This includes the error correction level, which was used
during encoding (<i><span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span></i>
<span title="11" style="vertical-align:-0.139466em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.790173em" height="0.701033em" viewBox="0 0 12.642761 11.216522">
<!-- Original BoundingBox: -6.321381 -5.608261 6.321381 5.608261 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.694611 8.985062)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
</svg></span> [<i>0</i>, <i>8</i>]).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_exist'</span><span data-if="c" style="display:none">"macro_exist"</span><span data-if="cpp" style="display:none">"macro_exist"</span><span data-if="com" style="display:none">"macro_exist"</span><span data-if="dotnet" style="display:none">"macro_exist"</span><span data-if="python" style="display:none">"macro_exist"</span></i>:</b></dt>
<dd>
<p>

Symbols that are part of a group of symbols are called
<i>“Macro PDF417”</i> symbols. These symbols contain
additional information within a control block. For macro
symbols <i><span data-if="hdevelop" style="display:inline">'macro_exist'</span><span data-if="c" style="display:none">"macro_exist"</span><span data-if="cpp" style="display:none">"macro_exist"</span><span data-if="com" style="display:none">"macro_exist"</span><span data-if="dotnet" style="display:none">"macro_exist"</span><span data-if="python" style="display:none">"macro_exist"</span></i> 返回值 <i>1</i> while
for conventional symbols <i>0</i> is returned.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_segment_index'</span><span data-if="c" style="display:none">"macro_segment_index"</span><span data-if="cpp" style="display:none">"macro_segment_index"</span><span data-if="com" style="display:none">"macro_segment_index"</span><span data-if="dotnet" style="display:none">"macro_segment_index"</span><span data-if="python" style="display:none">"macro_segment_index"</span></i>:</b></dt>
<dd>
<p>

Returns the index of the symbol in the group. For macro symbols
this information is obligatory.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_file_id'</span><span data-if="c" style="display:none">"macro_file_id"</span><span data-if="cpp" style="display:none">"macro_file_id"</span><span data-if="com" style="display:none">"macro_file_id"</span><span data-if="dotnet" style="display:none">"macro_file_id"</span><span data-if="python" style="display:none">"macro_file_id"</span></i>:</b></dt>
<dd>
<p>

Returns the group identifier as a string. For macro symbols
this information is obligatory.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_segment_count'</span><span data-if="c" style="display:none">"macro_segment_count"</span><span data-if="cpp" style="display:none">"macro_segment_count"</span><span data-if="com" style="display:none">"macro_segment_count"</span><span data-if="dotnet" style="display:none">"macro_segment_count"</span><span data-if="python" style="display:none">"macro_segment_count"</span></i>:</b></dt>
<dd>
<p>

Returns the number of symbols that belong to the group.
For macro symbols this information is optional.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_time_stamp'</span><span data-if="c" style="display:none">"macro_time_stamp"</span><span data-if="cpp" style="display:none">"macro_time_stamp"</span><span data-if="com" style="display:none">"macro_time_stamp"</span><span data-if="dotnet" style="display:none">"macro_time_stamp"</span><span data-if="python" style="display:none">"macro_time_stamp"</span></i>:</b></dt>
<dd>
<p>

Returns the time stamp on the source file expressed as the elapsed
time in seconds since 1970:01:01:00:00:00 GMT as a string.
For macro symbols this information is optional.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_checksum'</span><span data-if="c" style="display:none">"macro_checksum"</span><span data-if="cpp" style="display:none">"macro_checksum"</span><span data-if="com" style="display:none">"macro_checksum"</span><span data-if="dotnet" style="display:none">"macro_checksum"</span><span data-if="python" style="display:none">"macro_checksum"</span></i>:</b></dt>
<dd>
<p>

Returns the CRC checksum computed over the entire source file
using the CCITT-16 polynomial. For macro symbols this
information is optional.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'macro_last_symbol'</span><span data-if="c" style="display:none">"macro_last_symbol"</span><span data-if="cpp" style="display:none">"macro_last_symbol"</span><span data-if="com" style="display:none">"macro_last_symbol"</span><span data-if="dotnet" style="display:none">"macro_last_symbol"</span><span data-if="python" style="display:none">"macro_last_symbol"</span></i>:</b></dt>
<dd>
<p>

Returns <i>1</i> if the symbol is the last one within the group of
symbols. Otherwise <i>0</i> is returned. For macro symbols this
information is optional.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_float_grades"</span></i>:</b></dt>
<dd>
<p>

returns a tuple with the same assessment of print quality like
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span></i>. For a PDF417 some grades are assessed
with the international standard ISO/IEC 15416:2016. In compliance with
the standard the grades are returned with one decimal place.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Aztec Codes:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'format'</span><span data-if="c" style="display:none">"format"</span><span data-if="cpp" style="display:none">"format"</span><span data-if="com" style="display:none">"format"</span><span data-if="dotnet" style="display:none">"format"</span><span data-if="python" style="display:none">"format"</span></i>:</b></dt>
<dd>
<p>

String that corresponds to the format of the decoded symbol:
<i><span data-if="hdevelop" style="display:inline">'compact'</span><span data-if="c" style="display:none">"compact"</span><span data-if="cpp" style="display:none">"compact"</span><span data-if="com" style="display:none">"compact"</span><span data-if="dotnet" style="display:none">"compact"</span><span data-if="python" style="display:none">"compact"</span></i>, <i><span data-if="hdevelop" style="display:inline">'full_range'</span><span data-if="c" style="display:none">"full_range"</span><span data-if="cpp" style="display:none">"full_range"</span><span data-if="com" style="display:none">"full_range"</span><span data-if="dotnet" style="display:none">"full_range"</span><span data-if="python" style="display:none">"full_range"</span></i>, or <i><span data-if="hdevelop" style="display:inline">'rune'</span><span data-if="c" style="display:none">"rune"</span><span data-if="cpp" style="display:none">"rune"</span><span data-if="com" style="display:none">"rune"</span><span data-if="dotnet" style="display:none">"rune"</span><span data-if="python" style="display:none">"rune"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Detected size of the symbol in modules.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'layer_num'</span><span data-if="c" style="display:none">"layer_num"</span><span data-if="cpp" style="display:none">"layer_num"</span><span data-if="com" style="display:none">"layer_num"</span><span data-if="dotnet" style="display:none">"layer_num"</span><span data-if="python" style="display:none">"layer_num"</span></i>:</b></dt>
<dd>
<p>

The number of layers as encoded in the mode message of the symbol.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'codeword_num'</span><span data-if="c" style="display:none">"codeword_num"</span><span data-if="cpp" style="display:none">"codeword_num"</span><span data-if="com" style="display:none">"codeword_num"</span><span data-if="dotnet" style="display:none">"codeword_num"</span><span data-if="python" style="display:none">"codeword_num"</span></i>:</b></dt>
<dd>
<p>

The number of codewords as encoded in the mode message of the symbol.
</p>
</dd>
</dl>
</li>
</ul>
<p><b>Results associated with a specific candidate - tuple of values
results:</b>
</p>
<p>Results that return a <b>tuple of values</b> and hence can be
requested only separately and only for a <b>single candidate</b>.
Please consider that some of the following results will not return a
useful value if the investigation of the candidate was aborted.
</p>
<ul>
<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'bin_module_data'</span><span data-if="c" style="display:none">"bin_module_data"</span><span data-if="cpp" style="display:none">"bin_module_data"</span><span data-if="com" style="display:none">"bin_module_data"</span><span data-if="dotnet" style="display:none">"bin_module_data"</span><span data-if="python" style="display:none">"bin_module_data"</span></i>:</b></dt>
<dd>
<p>

Binary symbol data that corresponds to the classification
results of the individual modules - a value of 0 means that the
module was classified as background and 100 indicates that the module
belongs to the foreground.
Values between 0 and 100 can be interpreted as foreground or
background. The model persistence must be 1 for this result (see
<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>). For DotCodes the model persistence
does not matter.
It shall be noted that the order of <i><span data-if="hdevelop" style="display:inline">'bin_module_data'</span><span data-if="c" style="display:none">"bin_module_data"</span><span data-if="cpp" style="display:none">"bin_module_data"</span><span data-if="com" style="display:none">"bin_module_data"</span><span data-if="dotnet" style="display:none">"bin_module_data"</span><span data-if="python" style="display:none">"bin_module_data"</span></i> does
not necessarily match the order of the modules, which can be retrieved
using <i><span data-if="hdevelop" style="display:inline">'module_1_rois'</span><span data-if="c" style="display:none">"module_1_rois"</span><span data-if="cpp" style="display:none">"module_1_rois"</span><span data-if="com" style="display:none">"module_1_rois"</span><span data-if="dotnet" style="display:none">"module_1_rois"</span><span data-if="python" style="display:none">"module_1_rois"</span></i> and <i><span data-if="hdevelop" style="display:inline">'module_0_rois'</span><span data-if="c" style="display:none">"module_0_rois"</span><span data-if="cpp" style="display:none">"module_0_rois"</span><span data-if="com" style="display:none">"module_0_rois"</span><span data-if="dotnet" style="display:none">"module_0_rois"</span><span data-if="python" style="display:none">"module_0_rois"</span></i> via
<a href="get_data_code_2d_objects.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_objects</span><span data-if="c" style="display:none">get_data_code_2d_objects</span><span data-if="cpp" style="display:none">GetDataCode2dObjects</span><span data-if="com" style="display:none">GetDataCode2dObjects</span><span data-if="dotnet" style="display:none">GetDataCode2dObjects</span><span data-if="python" style="display:none">get_data_code_2d_objects</span></code></a>. Instead, the order for successfully
decoded symbols depends on the actual <i><span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span></i> status of the
result, or the <i><span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span></i> setting specified via
<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a> for failed candidates.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'raw_coded_data'</span><span data-if="c" style="display:none">"raw_coded_data"</span><span data-if="cpp" style="display:none">"raw_coded_data"</span><span data-if="com" style="display:none">"raw_coded_data"</span><span data-if="dotnet" style="display:none">"raw_coded_data"</span><span data-if="python" style="display:none">"raw_coded_data"</span></i>:</b></dt>
<dd>
<p>

Data obtained by mapping the binary data to data words
according to the particular coding scheme of the symbol type.
Single bits may still be erroneous, and the words that are
used for the error correction are still included.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'corr_coded_data'</span><span data-if="c" style="display:none">"corr_coded_data"</span><span data-if="cpp" style="display:none">"corr_coded_data"</span><span data-if="com" style="display:none">"corr_coded_data"</span><span data-if="dotnet" style="display:none">"corr_coded_data"</span><span data-if="python" style="display:none">"corr_coded_data"</span></i>:</b></dt>
<dd>
<p>

Data obtained after applying the error correction:
erroneous bits are corrected and all redundant words are
removed, but the words are still encoded according to the
coding scheme that is specific for the data code type.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoded_data'</span><span data-if="c" style="display:none">"decoded_data"</span><span data-if="cpp" style="display:none">"decoded_data"</span><span data-if="com" style="display:none">"decoded_data"</span><span data-if="dotnet" style="display:none">"decoded_data"</span><span data-if="python" style="display:none">"decoded_data"</span></i>:</b></dt>
<dd>
<p>

Tuple with the decoded data words (= characters of the decoded
data string) as Latin-1 or ASCII code (see also
<a href="toc_tuple_stringoperations.html">Tuple / String Operations</a>). Additionally, decoded words can be encoded
as JIS8 or Shift JIS characters (QR Code and Micro QR Code only) or GB2312
characters (QR Code only).
Note that for QR Code and Micro QR Code the Kanji characters are not returned
as single (Shift JIS) code points by <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code>, but split
into individual bytes.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> All data code types except DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span></i>:</b></dt>
<dd>
<p>

Tuple with the assessment of print quality in compliance with
the international standard ISO/IEC 15415:2011. The first element
always contains the overall print quality of the symbol; the
length of the tuple and the denotation of the remaining
elements depend on the specific data code type. According to
the standard, the grades are whole numbers from 0 to 4, where
0 is the lowest and 4 the highest grade. It is important to
note what, even though the implementation is based on the parts
of the standard which are applicable to software, the computation
of the print quality grades depends on the preceding decoding
algorithm. Thus, different data code readers (of different vendors)
can potentially produce slightly different results in the print quality
assessment. See <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a> for how to set
the algorithm used to determine the module grid for
<i>Data Matrix ECC 200</i> codes with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_decode_algorithm'</span><span data-if="c" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="com" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="python" style="display:none">"quality_isoiec15415_decode_algorithm"</span></i>.
</p>
<p>Using these values requires a thorough understanding of the
underlying algorithms, and we recommend to read ISO/IEC
15415:2011 along with this documentation.
</p>
<p>We recommend to use high quality images without artifacts
like defocus, noise, overexposure, or inhomogeneous
illumination. Such artifacts influence the result of the
print quality grading. Further, to obtain robust grading
results, an effective resolution of at least ten pixels per
module in width and height is required (see ISO/IEC 15415:2011,
Chapter 7.3.3).
The quality grades are only computed when the symbol region including
the quiet zone is fully in the image, elsewise -1 is returned for the
quality grades. For the reference decoding algorithm, more cases
lead to quality grades equal to -1. Please refer to
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_decode_algorithm'</span><span data-if="c" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="com" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="python" style="display:none">"quality_isoiec15415_decode_algorithm"</span></i> for more information.
</p>
<p>For the 2D data codes <i>ECC 200</i>, <i>Aztec Code</i>,
<i>QR Code</i>, and <i>Micro QR Code</i> the print
quality is described in a tuple with twelve
elements:(<i>overall quality, contrast, modulation,
       fixed pattern damage, decode, axial non-uniformity, grid
       non-uniformity, unused error correction, reflectance margin,
       print growth, contrast uniformity, aperture</i>).  For
<i>QR Code</i> and <i>Micro QR Code</i> also the
<i>format information</i> and <i>version information</i>
are returned as additional grading parameters.
</p>
<p>The definition of the respective elements is as follows: The
<i>overall quality</i> is the minimum of all individual grades.
The <i>contrast</i> is the range between the minimal and the
maximal pixel intensity in the data code domain, and a strong
contrast results in a good grading. The <i>modulation</i>
indicates how strong the amplitudes of the data code modules are.
Big amplitudes make the assignment of the modules to black or
white more certain, resulting in a high modulation grade. It is to
note that the computation of the modulation grade is influenced by
the specific level of error correction capacity, meaning that the
modulation degrades less for codes with higher error correction
capacity.
The <i>contrast uniformity</i> is the minimum modulation value found
in any module. This value is no grade, therefore, it can have real
values. It does not affect the <i>overall quality</i>.
According to ISO/IEC15415:2011, the <i>print growth</i> is no grade
and is therefore not used for calculating the <i>overall quality</i>.
Instead, it can be used as an additional information to find out,
if the graphical features comprising the symbol have not
shrunk or grown from their nominal size. This means that the
<i>print growth</i> gives some indication to which extent the dark
and light modules fill out their module boundaries.
The calculation of the print growth does not follow the scheme as
specified by ISO/IEC 15415:2011, but instead it considers the
specifications as stated by the ISO/IEC standard of the 2D data code
to be examined. This means that the computation of the
<i>print growth</i> for <i>Aztec Codes</i> is implemented as
described in ISO/IEC 24778:2008. For <i>ECC 200</i> the
corresponding standard is ANSI/AIM International Specification Data
Matrix and for <i>QR Codes</i> as well as for
<i>Micro QR Codes</i> the implementation follows ISO/IEC 18004:2006.
For all 2D data codes described above, the <i>print growth</i> is
calculated in horizontal and vertical direction. The reported grade is
the lower rated of the pair.
</p>
<p>The <i>reflectance margin</i> also indicates (like the modulation)
how strong the amplitudes of the data code modules are. The
difference to <i>modulation</i> is that <i>reflectance margin</i>
assessed the correct classification of the modules.
The fixed pattern of both ECC 200, Aztec Code, QR Code,
and Micro QR Code
is of high importance for detecting and decoding the codes.
Degradation or damage of the fixed pattern, or the respective quiet
zones, is assessed with the <i>fixed pattern damage</i> quality,
which is based on the modulation values.
</p>
<p>The <i>decode</i> grade indicates if a code was successfully
decoded. The <i>decode</i> quality
is graded <i>4</i> when the code could be decoded according to the
reference decode algorithm defined in the standard, and <i>0</i>,
otherwise. Note that HALCON's decode algorithm differs from the
reference decode algorithm. Thus, in many cases HALCON can decode
the symbol although the decode grade according to the standard is
<i>0</i>.
</p>
<p>Originally, data codes have squared modules, i.e., the width and
height of the modules are the same. Due to a potentially oblique
view of the camera onto the data code or a defective fabrication
of the data code itself, the width to height ratio can be distorted.
This deterioration results in a degraded <i>axial
       non-uniformity</i>. If apart from an affine distortion the data code
is subject to perspective or any other distortions too this
degrades the <i>grid non-uniformity</i> quality. As data codes
are redundant codes, errors in the modules or codewords can be
corrected. The amount of error correcting capacities which is
not already used by the present data code symbol is expressed
in the <i>unused error correction</i> quality. In a way, this
grade reflects the reliability of the decoding process. Note,
that even codes with an unused error correction grading of 0,
which could possibly mean a false decoding result, can be decoded
by the <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> operator in a reliable way,
because the implemented decoding functionality is more
sophisticated and robust compared to the reference decode
algorithm proposed by the standard.
</p>
<p>For <i>QR Codes</i> and <i>Micro QR Codes</i> the additional
grading parameters <i>format information</i> and
<i>version information</i> are graded in a similar way to
<i>fixed pattern damage</i>. If no <i>version information</i>
exists, <i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i> is returned.
</p>
<p>For the 2D stacked code <i>PDF417</i> the print quality is
described in a tuple with eight elements: (overall quality,
start/stop pattern, codeword yield, unused error correction,
modulation, decodability, defects, aperture).
</p>
<p>The definition of the respective elements is as follows: The
<i>overall quality</i> is the minimum of all individual grades.
As the PDF417 data code is a stacked code, which can be read by
line scan devices as well, print quality assessment is mainly
based on techniques for linear bar codes: a set of scan reflectance
profiles is generated across the symbol followed by the evaluation
of the respective print qualities within each scan, which are
finally subsumed as overall print qualities. For more details,
the user is referred to the standard for linear symbols ISO/IEC
15416:2016. In <i>start/stop pattern</i>, the start and stop
patterns are assessed concerning the quality of the reflectance
profile and the correctness of the bar and space sequence. The grade
<i>codeword yield</i> counts and evaluates the relative number
of correct decoded words acquired by the set of scan profiles.
For the grade <i>unused error correction</i>, the relative number
of false decoded words within the error correction blocks are
counted. As for 2D data codes, the <i>modulation</i> grade
indicates how strong the amplitudes, i.e., the extremal intensities,
of the bars and spaces are. The grade <i>decodability</i>
measures the deviation of the nominal length of bars and spaces with
respect to their reference length. And finally, the grade
<i>defects</i> refers to a measurement of how perfect the
reflectance profiles of bars and spaces are.
</p>
<p>The <i>aperture</i> is the size of the synthesized aperture
in units of the module size of the symbol. This aperture is
used to obtain the reference gray scale image during the
grading procedure. It is defined in ISO/IEC 15415:2011, Chapter
7.3.3.
</p>
<p>To be able to compute the quality values for QR Code, Micro QR Code,
PDF417, and Aztec Code, it is necessary that the
parameter <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
(see <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) is set to a value greater
than or equal to <i>0</i>. For Data Matrix ECC 200, quality grading
can also be performed with a <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> value of
<i>-1</i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_values"</span></i>:</b></dt>
<dd>
<p>

returns a tuple with the raw values for all <i>'directly
       measurable'</i> grades (reported by <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span></i>).
These are grades, whose definition in the ISO/IEC 15415:2011 standard
is a <i>'direct derivative'</i> of the reflectance (i.e., the
gray values) or of geometrical properties of the symbol, or grades
that are the result of a <i>'direct counting'</i>.
</p>
<p>The returned tuple has the same order of elements as the
corresponding result with <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span></i>. For the
grades, which are excluded from these lists, 该算子 reports
<i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i>. For the 2D data codes <i>ECC 200</i>,
<i>Aztec Code</i>, <i>QR Code</i>, and <i>Micro QR Code</i> the
excluded grades are
<i>overall quality</i>, <i>modulation</i>,
<i>fixed pattern damage</i>, <i>decode</i> and
<i>reflectance margin</i>.
For the 2D stacked code <i>PDF417</i> the excluded grades are
<i>overall quality</i>, <i>start/stop pattern</i>,
<i>modulation</i>, <i>decodability</i>, <i>defects</i>.
</p>
<p>Although the grades <i>modulation</i> (for <i>ECC 200</i>,
<i>QR Code</i>, and <i>Micro QR Code</i>) and
<i>modulation</i>, <i>decodability</i>,
<i>defects</i> (for <i>PDF417</i>) generally are grading the
reflectance properties of the symbol, the standard procedures for
their computation involve the symbology decoding routine and error
correction mechanism. Therefore there is no <i>'direct'</i>
raw measurement underlying these grades.
The grade <i>start/stop pattern</i> (for <i>PDF417</i>) is
excluded because it is a complex grade, which does not correspond
to a single raw measurement value.
</p>
<p>All values except the <i>print growth</i> are normalized between
<i>0.0</i> and <i>1.0</i>. Hence, for example, a <i>contrast</i>
value of <i>0.75</i> will correspond to a gray value of
<i>191.25</i> (for BYTE images).
For the <i>print growth</i>, values between approximately
<i>-0.9</i> and <i>0.9</i> are possible as an output. A negative
value corresponds to a <i>print shrinkage</i> whereas a positive
value reflects a <i>print growth</i>. The values can be interpreted
as the percentage share that a dark module occupies too little
(<i>print shrinkage</i>) or too much (<i>print growth</i>) of its
nominal module size.
A value of <i>-0.50</i> indicates for example that a dark module is
50% smaller as the nominal module size.
If the <i>print growth</i> could not be calculated, the value is set
to <i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i>.
</p>
<p>To be able to compute the quality values for QR Code, Micro QR Code,
PDF417, and Aztec Code, it is necessary that the
parameter <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
(see <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) is set to a value greater
than or equal to <i>0</i>. For Data Matrix ECC 200, quality grading
can also be performed with a <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> value of
<i>-1</i>.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_additional_reflectance_check'</span><span data-if="c" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="com" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="python" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span></i>:</b></dt>
<dd>
<p>

Returns the result of the additional reflectance check described
in ISO/IEC 15415:2011 7.7.
If the check is successful or one of the grades for Modulation,
Decode, or Fixed Pattern Damage is smaller than 1,
<i><span data-if="hdevelop" style="display:inline">'passed'</span><span data-if="c" style="display:none">"passed"</span><span data-if="cpp" style="display:none">"passed"</span><span data-if="com" style="display:none">"passed"</span><span data-if="dotnet" style="display:none">"passed"</span><span data-if="python" style="display:none">"passed"</span></i> is returned.
If the reflectance interval in the extended area is within the
reflectence interval of the code area including the quiet zone,
<i><span data-if="hdevelop" style="display:inline">'passed'</span><span data-if="c" style="display:none">"passed"</span><span data-if="cpp" style="display:none">"passed"</span><span data-if="com" style="display:none">"passed"</span><span data-if="dotnet" style="display:none">"passed"</span><span data-if="python" style="display:none">"passed"</span></i> is returned, as well.
If the extended region required for this check is not completely
contained within the image, <i><span data-if="hdevelop" style="display:inline">'fov_too_small'</span><span data-if="c" style="display:none">"fov_too_small"</span><span data-if="cpp" style="display:none">"fov_too_small"</span><span data-if="com" style="display:none">"fov_too_small"</span><span data-if="dotnet" style="display:none">"fov_too_small"</span><span data-if="python" style="display:none">"fov_too_small"</span></i> is returned.
If the check fails, <i><span data-if="hdevelop" style="display:inline">'failed'</span><span data-if="c" style="display:none">"failed"</span><span data-if="cpp" style="display:none">"failed"</span><span data-if="com" style="display:none">"failed"</span><span data-if="dotnet" style="display:none">"failed"</span><span data-if="python" style="display:none">"failed"</span></i> is returned. In the
exceptional case that the quality assessment fails and all grades
are -1, <i><span data-if="hdevelop" style="display:inline">'unchecked'</span><span data-if="c" style="display:none">"unchecked"</span><span data-if="cpp" style="display:none">"unchecked"</span><span data-if="com" style="display:none">"unchecked"</span><span data-if="dotnet" style="display:none">"unchecked"</span><span data-if="python" style="display:none">"unchecked"</span></i> will be returned.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate"</span></i>:</b></dt>
<dd>
<p>

Tuple with intermediate results that are determined during
the assessment of print quality for ECC 200 codes in
compliance with the international standard ISO/IEC 15415:2011
and ISO/IEC 16022:2006. Using these values requires a
thorough understanding of the underlying algorithms, and we
strongly recommend to read ISO/IEC 15415:2011 and ISO/IEC
16022:2006 along with this documentation.
</p>
<p>A description of the intermediate results is given below. The
returned intermediate grades
(<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate"</span></i>) and values
(<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate_values"</span></i>) are the minimal
grades and values for the code under inspection. The names of the
available intermediate results can be queried with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate_labels'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate_labels"</span></i>.
</p>
<ul>
<li>
<p> <i>'Rmin'</i> and <i>'Rmax'</i>: The minimum and
maximum reflectance value in the sample area of the
symbol (see Chapter 7.6, ISO/IEC 15415:2011). There are
no corresponding grades for these values.
</p>
</li>
<li>
<p> <i>'L1'</i> and <i>'L2'</i>: The grades of the
vertical and horizontal portions of the outside L of the
fixed pattern as defined in Chapter M.1.2, ISO/IEC
16022:2006. The corresponding number of damaged modules
is returned as value.
</p>
</li>
<li>
<p> <i>'QZL1'</i> and <i>'QZL2'</i>: The grades of
the vertical and horizontal portions of the quiet zone
adjacent to L1 and L2, respectively (see Chapter M.1.2,
ISO/IEC 16022:2006). The corresponding number of damaged
modules is returned as value.
</p>
</li>
<li>
<p> <i>'Transition Ratio'</i>: The grade for the
transition ratio test described in Chapter M.1.3 b),
ISO/IEC 16022:2006. The transition ratio TR is returned
as value. It measures the ratio between the number of
transitions on the clock track and the associated solid
area.
</p>
</li>
<li>
<p> <i>'Clock track regularity'</i>: The grade for the
clock track regularity test as described in Chapter M.1.3
e), ISO/IEC 16022:2006. If for any group of five adjacent
modules more than two modules are considered as errors,
this grade is 0, otherwise its 4. There is no
corresponding value.
</p>
</li>
<li>
<p> <i>'Clock track damage'</i>: The grade for the
clock track damage (see Chapter M.1.3 f), ISO/IEC
16022:2006). The corresponding number of damaged modules
is returned as value.
</p>
</li>
<li>
<p> <i>'Solid fix pattern'</i>: The grade for the solid
fixed pattern (see Chapter M.1.3 g), ISO/IEC 16022:2006). The
corresponding number of damaged modules is returned as
value.
</p>
</li>
<li>
<p> <i>'Clock track and adjacent solid pattern'</i>:
The overall grade for the clock track and adjacent solid
pattern (see Chapter M.1.3 k), ISO/IEC 16022:2006). There
is no corresponding value.
</p>
</li>
<li>
<p> <i>'Average grade'</i>: The average grade for the
for the fixed pattern. It is based on the grades for the
L1, L2, QZL1, QZL2, and the overall grade for the clock
track and adjacent solid pattern (see Chapter M.1.4,
ISO/IEC 16022:2006). There is no corresponding value.
</p>
</li>
</ul>
<p>
The grade for <i>fixed pattern damage</i> for the symbol is
given by the minimum of the grades for <i>'L1'</i>,
<i>'L2'</i>, <i>'QZL1'</i>, <i>'QZL2'</i>,
<i>'Clock track and adjacent solid pattern'</i> and
<i>'Average grade'</i> (see Chapter M1.4, ISO/IEC
16022:2006).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_semi_t10_values'</span><span data-if="c" style="display:none">"quality_semi_t10_values"</span><span data-if="cpp" style="display:none">"quality_semi_t10_values"</span><span data-if="com" style="display:none">"quality_semi_t10_values"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_values"</span><span data-if="python" style="display:none">"quality_semi_t10_values"</span></i>:</b></dt>
<dd>
<p>

Tuple with the assessment of the print quality in compliance with the
international standard SEMI T10-0701.
</p>
<p>We recommend to use high quality images without artifacts
like defocus, noise, overexposure, or inhomogeneous
illumination. Such artifacts influence the result of the
print quality grading. Further, to obtain robust grading
results, an effective resolution of at least ten pixels per
module in width and height is required.
The quality grades are only computed when the symbol is fully in the
image, elsewise -1 is returned for the quality grades.
</p>
<p>The direct mark quality is described in a tuple with 21 elements:
[P1 Row, P1 Column, P2 Row, P2 Column, P3 Row, P3 Column, P4
Row, P4 Column, Rows, Columns, Symbol Contrast, Symbol Contrast
SNR, Horizontal Mark Growth, Vertical Mark Growth, Data Matrix
Cell Width, Data Matrix Cell Height, Horizontal Mark
Misplacement, Vertical Mark Misplacement, Cell Defects, Finder
Pattern Defects, Unused Error Correction].
Note that the <i>Unused Error Correction</i> is returned for
each Reed-Solomon block. Therefore, the actual length of the
returned tuple depends on the number of Reed-Solomon blocks.
</p>
<p>The definition of the respective elements is as follows: The first
eight entries contain the coordinates of the four corners. The first
corner is located at the vertical finder pattern. The remaining
corners follow contour clockwise (for non mirrored codes).
With <i>Rows</i> and <i>Columns</i> the numbers of rows and
columns of the code are reported.
</p>
<p>The value for <i>Symbol Contrast</i> reports the contrast
between light and dark classified symbol pixels with respect to
the full gray value range (255 for byte images) in percent.
<i>Symbol Contrast SNR</i> is the corresponding signal-to-noise
ratio. If the value is infinite, <i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i> is returned.
</p>
<p>The values for <i>Horizontal Mark Growth</i> and
<i>Vertical Mark Growth</i> represent the width and height,
respectively, of marked modules with respect to the sum of the
width and height, respectively, of a marked module and a space
module in percent.  A value of 50% is optimal.
If some parts of the alternating pattern are hidden, <i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i>
is returned.
</p>
<p>The values for <i>Data Matrix Cell Width</i> and <i>Data
       Matrix Cell Height</i> report the average module width and height.
They are computed from the four corner points and the number of
rows and columns of the code.
</p>
<p>The values for <i>Horizontal Mark Misplacement</i> and
<i>Vertical Mark Misplacement</i> report the displacement of the
alternating pattern marks' centers in horizontal and
vertical direction, respectively.
These values are given in percent with respect to <i>Data
       Matrix Cell Width</i> and <i>Data Matrix Cell Height</i>,
respectively.
If some parts of the alternating pattern are hidden, <i><span data-if="hdevelop" style="display:inline">'N/A'</span><span data-if="c" style="display:none">"N/A"</span><span data-if="cpp" style="display:none">"N/A"</span><span data-if="com" style="display:none">"N/A"</span><span data-if="dotnet" style="display:none">"N/A"</span><span data-if="python" style="display:none">"N/A"</span></i>
is returned.
</p>
<p>The value for <i>Cell Defects</i> reports the percentage of
incorrectly classified symbol pixels.
</p>
<p>The value for <i>Finder pattern Defects</i> reports the
percentage of finder pattern pixels that would be classified
incorrectly.
</p>
<p>The value for <i>Unused Error Correction</i> reports the
error correction capacities that are not already used by each
Reed-Solomon block.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_semi_t10_labels'</span><span data-if="c" style="display:none">"quality_semi_t10_labels"</span><span data-if="cpp" style="display:none">"quality_semi_t10_labels"</span><span data-if="com" style="display:none">"quality_semi_t10_labels"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_labels"</span><span data-if="python" style="display:none">"quality_semi_t10_labels"</span></i>:</b></dt>
<dd>
<p>

Convenience value labels of the elements of the tuple returned
when calling <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> with
<i><span data-if="hdevelop" style="display:inline">'quality_semi_t10_values'</span><span data-if="c" style="display:none">"quality_semi_t10_values"</span><span data-if="cpp" style="display:none">"quality_semi_t10_values"</span><span data-if="com" style="display:none">"quality_semi_t10_values"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_values"</span><span data-if="python" style="display:none">"quality_semi_t10_values"</span></i>.
If the ECC 200 code has more than one Reed-Solomon block, the label
tuple is extended by the corresponding values.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i>:</b></dt>
<dd>
<p>

Tuple with the reflectance margin module grades that are determined
during the assessment of print quality according to the ISO/IEC
15415:2011 standard Chapter 7.8.4.3. This includes the finder pattern
modules and the 4 quiet zones adjacent to the symbol (2 horizontal
and 2 vertical).
</p>
<p>If the symbol size is <span title="12" style="vertical-align:-0.0959262em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="7.39279em" height="0.816853em" viewBox="0 0 118.284592 13.069641">
<!-- Original BoundingBox: -59.142303 -6.534821 59.142288 6.534821 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_67">
      <path style="fill-rule: evenodd;" d="M760.000000 -695.000000C760.000000 -698.000000,758.000000 -705.000000,749.000000 -705.000000C746.000000 -705.000000,745.000000 -704.000000,734.000000 -693.000000L664.000000 -616.000000C655.000000 -630.000000,609.000000 -705.000000,498.000000 -705.000000C275.000000 -705.000000,50.000000 -484.000000,50.000000 -252.000000C50.000000 -87.000000,168.000000 22.000000,321.000000 22.000000C408.000000 22.000000,484.000000 -18.000000,537.000000 -64.000000C630.000000 -146.000000,647.000000 -237.000000,647.000000 -240.000000C647.000000 -250.000000,637.000000 -250.000000,635.000000 -250.000000C629.000000 -250.000000,624.000000 -248.000000,622.000000 -240.000000C613.000000 -211.000000,590.000000 -140.000000,521.000000 -82.000000C452.000000 -26.000000,389.000000 -9.000000,337.000000 -9.000000C247.000000 -9.000000,141.000000 -61.000000,141.000000 -217.000000C141.000000 -274.000000,162.000000 -436.000000,262.000000 -553.000000C323.000000 -624.000000,417.000000 -674.000000,506.000000 -674.000000C608.000000 -674.000000,667.000000 -597.000000,667.000000 -481.000000C667.000000 -441.000000,664.000000 -440.000000,664.000000 -430.000000C664.000000 -420.000000,675.000000 -420.000000,679.000000 -420.000000C692.000000 -420.000000,692.000000 -422.000000,697.000000 -440.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_82">
      <path style="fill-rule: evenodd;" d="M375.000000 -614.000000C381.000000 -638.000000,384.000000 -648.000000,403.000000 -651.000000C412.000000 -652.000000,444.000000 -652.000000,464.000000 -652.000000C535.000000 -652.000000,646.000000 -652.000000,646.000000 -553.000000C646.000000 -519.000000,630.000000 -450.000000,591.000000 -411.000000C565.000000 -385.000000,512.000000 -353.000000,422.000000 -353.000000L310.000000 -353.000000M519.000000 -340.000000C620.000000 -362.000000,739.000000 -432.000000,739.000000 -533.000000C739.000000 -619.000000,649.000000 -683.000000,518.000000 -683.000000L233.000000 -683.000000C213.000000 -683.000000,204.000000 -683.000000,204.000000 -663.000000C204.000000 -652.000000,213.000000 -652.000000,232.000000 -652.000000C234.000000 -652.000000,253.000000 -652.000000,270.000000 -650.000000C288.000000 -648.000000,297.000000 -647.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C50.000000 -31.000000,41.000000 -31.000000,41.000000 -11.000000C41.000000 -0.000000,53.000000 -0.000000,55.000000 -0.000000L181.000000 -0.000000L83.000000 -0.000000L153.000000 -3.000000L181.000000 -3.000000L209.000000 -3.000000L280.000000 -0.000000L308.000000 -0.000000C316.000000 -0.000000,328.000000 -0.000000,328.000000 -20.000000C328.000000 -31.000000,319.000000 -31.000000,300.000000 -31.000000C263.000000 -31.000000,235.000000 -31.000000,235.000000 -49.000000C235.000000 -55.000000,237.000000 -60.000000,238.000000 -66.000000L304.000000 -331.000000L423.000000 -331.000000C514.000000 -331.000000,532.000000 -275.000000,532.000000 -240.000000C532.000000 -225.000000,524.000000 -194.000000,518.000000 -171.000000C511.000000 -143.000000,502.000000 -106.000000,502.000000 -86.000000C502.000000 22.000000,622.000000 22.000000,635.000000 22.000000C720.000000 22.000000,755.000000 -79.000000,755.000000 -93.000000C755.000000 -105.000000,744.000000 -105.000000,743.000000 -105.000000C734.000000 -105.000000,732.000000 -98.000000,730.000000 -91.000000C705.000000 -17.000000,662.000000 -0.000000,639.000000 -0.000000C606.000000 -0.000000,599.000000 -22.000000,599.000000 -61.000000C599.000000 -92.000000,605.000000 -143.000000,609.000000 -175.000000C611.000000 -189.000000,613.000000 -208.000000,613.000000 -222.000000C613.000000 -299.000000,546.000000 -330.000000,519.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_108">
      <path style="fill-rule: evenodd;" d="M258.000000 -683.000000C258.000000 -684.000000,258.000000 -694.000000,245.000000 -694.000000C222.000000 -694.000000,149.000000 -686.000000,123.000000 -684.000000C115.000000 -683.000000,104.000000 -682.000000,104.000000 -663.000000C104.000000 -652.000000,114.000000 -652.000000,129.000000 -652.000000C177.000000 -652.000000,178.000000 -643.000000,178.000000 -635.000000L175.000000 -615.000000L49.000000 -115.000000C46.000000 -104.000000,44.000000 -97.000000,44.000000 -81.000000C44.000000 -24.000000,88.000000 11.000000,135.000000 11.000000C168.000000 11.000000,193.000000 -9.000000,210.000000 -45.000000C228.000000 -83.000000,240.000000 -141.000000,240.000000 -143.000000C240.000000 -153.000000,231.000000 -153.000000,228.000000 -153.000000C218.000000 -153.000000,217.000000 -149.000000,214.000000 -135.000000C197.000000 -70.000000,178.000000 -11.000000,138.000000 -11.000000C108.000000 -11.000000,108.000000 -43.000000,108.000000 -57.000000C108.000000 -81.000000,109.000000 -86.000000,114.000000 -105.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_110">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -288.000000,384.000000 -160.000000,368.000000 -117.000000C359.000000 -94.000000,358.000000 -82.000000,358.000000 -71.000000C358.000000 -24.000000,393.000000 11.000000,440.000000 11.000000C534.000000 11.000000,571.000000 -135.000000,571.000000 -143.000000C571.000000 -153.000000,562.000000 -153.000000,559.000000 -153.000000C549.000000 -153.000000,549.000000 -150.000000,544.000000 -135.000000C524.000000 -67.000000,491.000000 -11.000000,442.000000 -11.000000C425.000000 -11.000000,418.000000 -21.000000,418.000000 -44.000000C418.000000 -69.000000,427.000000 -93.000000,436.000000 -115.000000C455.000000 -168.000000,497.000000 -278.000000,497.000000 -335.000000C497.000000 -402.000000,454.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -411.000000,180.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,59.000000 -385.000000C43.000000 -351.000000,29.000000 -292.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C151.000000 -420.000000,162.000000 -407.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_111">
      <path style="fill-rule: evenodd;" d="M469.000000 -273.000000C469.000000 -377.000000,399.000000 -442.000000,309.000000 -442.000000C175.000000 -442.000000,41.000000 -300.000000,41.000000 -158.000000C41.000000 -59.000000,108.000000 11.000000,201.000000 11.000000C334.000000 11.000000,469.000000 -127.000000,469.000000 -273.000000M202.000000 -11.000000C159.000000 -11.000000,115.000000 -42.000000,115.000000 -120.000000C115.000000 -169.000000,141.000000 -277.000000,173.000000 -328.000000C223.000000 -405.000000,280.000000 -420.000000,308.000000 -420.000000C366.000000 -420.000000,396.000000 -372.000000,396.000000 -312.000000C396.000000 -273.000000,376.000000 -168.000000,338.000000 -103.000000C303.000000 -45.000000,248.000000 -11.000000,202.000000 -11.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_115">
      <path style="fill-rule: evenodd;" d="M391.000000 -374.000000C363.000000 -373.000000,343.000000 -351.000000,343.000000 -329.000000C343.000000 -315.000000,352.000000 -300.000000,374.000000 -300.000000C396.000000 -300.000000,420.000000 -317.000000,420.000000 -356.000000C420.000000 -401.000000,377.000000 -442.000000,301.000000 -442.000000C169.000000 -442.000000,132.000000 -340.000000,132.000000 -296.000000C132.000000 -218.000000,206.000000 -203.000000,235.000000 -197.000000C287.000000 -187.000000,339.000000 -176.000000,339.000000 -121.000000C339.000000 -95.000000,316.000000 -11.000000,196.000000 -11.000000C182.000000 -11.000000,105.000000 -11.000000,82.000000 -64.000000C120.000000 -59.000000,145.000000 -89.000000,145.000000 -117.000000C145.000000 -140.000000,129.000000 -152.000000,108.000000 -152.000000C82.000000 -152.000000,52.000000 -131.000000,52.000000 -86.000000C52.000000 -29.000000,109.000000 11.000000,195.000000 11.000000C357.000000 11.000000,396.000000 -110.000000,396.000000 -155.000000C396.000000 -191.000000,377.000000 -216.000000,365.000000 -228.000000C338.000000 -256.000000,309.000000 -261.000000,265.000000 -270.000000C229.000000 -278.000000,189.000000 -285.000000,189.000000 -330.000000C189.000000 -359.000000,213.000000 -420.000000,301.000000 -420.000000C326.000000 -420.000000,376.000000 -413.000000,391.000000 -374.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_117">
      <path style="fill-rule: evenodd;" d="M350.000000 -56.000000C361.000000 -15.000000,396.000000 11.000000,439.000000 11.000000C474.000000 11.000000,497.000000 -12.000000,513.000000 -44.000000C530.000000 -80.000000,543.000000 -141.000000,543.000000 -143.000000C543.000000 -153.000000,534.000000 -153.000000,531.000000 -153.000000C521.000000 -153.000000,520.000000 -149.000000,517.000000 -135.000000C503.000000 -79.000000,484.000000 -11.000000,442.000000 -11.000000C421.000000 -11.000000,411.000000 -24.000000,411.000000 -57.000000C411.000000 -79.000000,423.000000 -126.000000,431.000000 -161.000000L459.000000 -269.000000C462.000000 -284.000000,472.000000 -322.000000,476.000000 -337.000000C481.000000 -360.000000,491.000000 -398.000000,491.000000 -404.000000C491.000000 -422.000000,477.000000 -431.000000,462.000000 -431.000000C457.000000 -431.000000,431.000000 -430.000000,423.000000 -396.000000C404.000000 -323.000000,360.000000 -148.000000,348.000000 -95.000000C347.000000 -91.000000,307.000000 -11.000000,234.000000 -11.000000C182.000000 -11.000000,172.000000 -56.000000,172.000000 -93.000000C172.000000 -149.000000,200.000000 -228.000000,226.000000 -297.000000C238.000000 -327.000000,243.000000 -341.000000,243.000000 -360.000000C243.000000 -405.000000,211.000000 -442.000000,161.000000 -442.000000C66.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C82.000000 -383.000000,120.000000 -420.000000,158.000000 -420.000000C167.000000 -420.000000,183.000000 -419.000000,183.000000 -387.000000C183.000000 -363.000000,172.000000 -334.000000,166.000000 -319.000000C129.000000 -220.000000,108.000000 -158.000000,108.000000 -109.000000C108.000000 -14.000000,177.000000 11.000000,231.000000 11.000000C297.000000 11.000000,333.000000 -34.000000,350.000000 -56.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_119">
      <path style="fill-rule: evenodd;" d="M462.000000 -339.000000C467.000000 -361.000000,477.000000 -398.000000,477.000000 -404.000000C477.000000 -422.000000,463.000000 -431.000000,448.000000 -431.000000C436.000000 -431.000000,418.000000 -423.000000,411.000000 -403.000000C408.000000 -396.000000,361.000000 -205.000000,354.000000 -179.000000C347.000000 -149.000000,345.000000 -131.000000,345.000000 -113.000000C345.000000 -102.000000,345.000000 -100.000000,346.000000 -95.000000C323.000000 -42.000000,293.000000 -11.000000,254.000000 -11.000000C174.000000 -11.000000,174.000000 -85.000000,174.000000 -102.000000C174.000000 -134.000000,179.000000 -173.000000,226.000000 -296.000000C237.000000 -326.000000,243.000000 -340.000000,243.000000 -360.000000C243.000000 -405.000000,210.000000 -442.000000,161.000000 -442.000000C66.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C84.000000 -389.000000,123.000000 -420.000000,158.000000 -420.000000C167.000000 -420.000000,183.000000 -419.000000,183.000000 -387.000000C183.000000 -362.000000,172.000000 -334.000000,165.000000 -317.000000C121.000000 -199.000000,109.000000 -153.000000,109.000000 -115.000000C109.000000 -24.000000,176.000000 11.000000,251.000000 11.000000C268.000000 11.000000,315.000000 11.000000,355.000000 -59.000000C381.000000 5.000000,450.000000 11.000000,480.000000 11.000000C555.000000 11.000000,599.000000 -52.000000,625.000000 -112.000000C659.000000 -190.000000,691.000000 -324.000000,691.000000 -372.000000C691.000000 -427.000000,664.000000 -442.000000,647.000000 -442.000000C622.000000 -442.000000,597.000000 -416.000000,597.000000 -394.000000C597.000000 -381.000000,603.000000 -375.000000,612.000000 -367.000000C623.000000 -356.000000,648.000000 -330.000000,648.000000 -282.000000C648.000000 -248.000000,619.000000 -150.000000,593.000000 -99.000000C567.000000 -46.000000,532.000000 -11.000000,483.000000 -11.000000C436.000000 -11.000000,409.000000 -41.000000,409.000000 -98.000000C409.000000 -126.000000,416.000000 -157.000000,420.000000 -171.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.873688 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.100143 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_111"></use>
    <use xlink:href="#GLYPHcmmi10_119" x="4.847300"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,32.667587 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_115"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,43.681686 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,51.651810 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_67"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,64.184814 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_111"></use>
    <use xlink:href="#GLYPHcmmi10_108" x="4.847300"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,76.981354 11.534821)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_117"></use>
    <use xlink:href="#GLYPHcmmi10_109" x="5.724676"></use>
    <use xlink:href="#GLYPHcmmi10_110" x="14.504942"></use>
    <use xlink:href="#GLYPHcmmi10_115" x="20.507378"></use>
  </g>
</svg></span>, the
tuple size is <span title="13" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="12.3741em" height="1.12127em" viewBox="0 0 197.985886 17.940399">
<!-- Original BoundingBox: -98.992950 -8.970200 98.992935 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_50">
      <path style="fill-rule: evenodd;" d="M127.000000 -77.000000L233.000000 -180.000000C389.000000 -318.000000,449.000000 -372.000000,449.000000 -472.000000C449.000000 -586.000000,359.000000 -666.000000,237.000000 -666.000000C124.000000 -666.000000,50.000000 -574.000000,50.000000 -485.000000C50.000000 -429.000000,100.000000 -429.000000,103.000000 -429.000000C120.000000 -429.000000,155.000000 -441.000000,155.000000 -482.000000C155.000000 -508.000000,137.000000 -534.000000,102.000000 -534.000000C94.000000 -534.000000,92.000000 -534.000000,89.000000 -533.000000C112.000000 -598.000000,166.000000 -635.000000,224.000000 -635.000000C315.000000 -635.000000,358.000000 -554.000000,358.000000 -472.000000C358.000000 -392.000000,308.000000 -313.000000,253.000000 -251.000000L61.000000 -37.000000C50.000000 -26.000000,50.000000 -24.000000,50.000000 -0.000000L421.000000 -0.000000L449.000000 -174.000000L424.000000 -174.000000C419.000000 -144.000000,412.000000 -100.000000,402.000000 -85.000000C395.000000 -77.000000,329.000000 -77.000000,307.000000 -77.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_67">
      <path style="fill-rule: evenodd;" d="M760.000000 -695.000000C760.000000 -698.000000,758.000000 -705.000000,749.000000 -705.000000C746.000000 -705.000000,745.000000 -704.000000,734.000000 -693.000000L664.000000 -616.000000C655.000000 -630.000000,609.000000 -705.000000,498.000000 -705.000000C275.000000 -705.000000,50.000000 -484.000000,50.000000 -252.000000C50.000000 -87.000000,168.000000 22.000000,321.000000 22.000000C408.000000 22.000000,484.000000 -18.000000,537.000000 -64.000000C630.000000 -146.000000,647.000000 -237.000000,647.000000 -240.000000C647.000000 -250.000000,637.000000 -250.000000,635.000000 -250.000000C629.000000 -250.000000,624.000000 -248.000000,622.000000 -240.000000C613.000000 -211.000000,590.000000 -140.000000,521.000000 -82.000000C452.000000 -26.000000,389.000000 -9.000000,337.000000 -9.000000C247.000000 -9.000000,141.000000 -61.000000,141.000000 -217.000000C141.000000 -274.000000,162.000000 -436.000000,262.000000 -553.000000C323.000000 -624.000000,417.000000 -674.000000,506.000000 -674.000000C608.000000 -674.000000,667.000000 -597.000000,667.000000 -481.000000C667.000000 -441.000000,664.000000 -440.000000,664.000000 -430.000000C664.000000 -420.000000,675.000000 -420.000000,679.000000 -420.000000C692.000000 -420.000000,692.000000 -422.000000,697.000000 -440.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_82">
      <path style="fill-rule: evenodd;" d="M375.000000 -614.000000C381.000000 -638.000000,384.000000 -648.000000,403.000000 -651.000000C412.000000 -652.000000,444.000000 -652.000000,464.000000 -652.000000C535.000000 -652.000000,646.000000 -652.000000,646.000000 -553.000000C646.000000 -519.000000,630.000000 -450.000000,591.000000 -411.000000C565.000000 -385.000000,512.000000 -353.000000,422.000000 -353.000000L310.000000 -353.000000M519.000000 -340.000000C620.000000 -362.000000,739.000000 -432.000000,739.000000 -533.000000C739.000000 -619.000000,649.000000 -683.000000,518.000000 -683.000000L233.000000 -683.000000C213.000000 -683.000000,204.000000 -683.000000,204.000000 -663.000000C204.000000 -652.000000,213.000000 -652.000000,232.000000 -652.000000C234.000000 -652.000000,253.000000 -652.000000,270.000000 -650.000000C288.000000 -648.000000,297.000000 -647.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C50.000000 -31.000000,41.000000 -31.000000,41.000000 -11.000000C41.000000 -0.000000,53.000000 -0.000000,55.000000 -0.000000L181.000000 -0.000000L83.000000 -0.000000L153.000000 -3.000000L181.000000 -3.000000L209.000000 -3.000000L280.000000 -0.000000L308.000000 -0.000000C316.000000 -0.000000,328.000000 -0.000000,328.000000 -20.000000C328.000000 -31.000000,319.000000 -31.000000,300.000000 -31.000000C263.000000 -31.000000,235.000000 -31.000000,235.000000 -49.000000C235.000000 -55.000000,237.000000 -60.000000,238.000000 -66.000000L304.000000 -331.000000L423.000000 -331.000000C514.000000 -331.000000,532.000000 -275.000000,532.000000 -240.000000C532.000000 -225.000000,524.000000 -194.000000,518.000000 -171.000000C511.000000 -143.000000,502.000000 -106.000000,502.000000 -86.000000C502.000000 22.000000,622.000000 22.000000,635.000000 22.000000C720.000000 22.000000,755.000000 -79.000000,755.000000 -93.000000C755.000000 -105.000000,744.000000 -105.000000,743.000000 -105.000000C734.000000 -105.000000,732.000000 -98.000000,730.000000 -91.000000C705.000000 -17.000000,662.000000 -0.000000,639.000000 -0.000000C606.000000 -0.000000,599.000000 -22.000000,599.000000 -61.000000C599.000000 -92.000000,605.000000 -143.000000,609.000000 -175.000000C611.000000 -189.000000,613.000000 -208.000000,613.000000 -222.000000C613.000000 -299.000000,546.000000 -330.000000,519.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_108">
      <path style="fill-rule: evenodd;" d="M258.000000 -683.000000C258.000000 -684.000000,258.000000 -694.000000,245.000000 -694.000000C222.000000 -694.000000,149.000000 -686.000000,123.000000 -684.000000C115.000000 -683.000000,104.000000 -682.000000,104.000000 -663.000000C104.000000 -652.000000,114.000000 -652.000000,129.000000 -652.000000C177.000000 -652.000000,178.000000 -643.000000,178.000000 -635.000000L175.000000 -615.000000L49.000000 -115.000000C46.000000 -104.000000,44.000000 -97.000000,44.000000 -81.000000C44.000000 -24.000000,88.000000 11.000000,135.000000 11.000000C168.000000 11.000000,193.000000 -9.000000,210.000000 -45.000000C228.000000 -83.000000,240.000000 -141.000000,240.000000 -143.000000C240.000000 -153.000000,231.000000 -153.000000,228.000000 -153.000000C218.000000 -153.000000,217.000000 -149.000000,214.000000 -135.000000C197.000000 -70.000000,178.000000 -11.000000,138.000000 -11.000000C108.000000 -11.000000,108.000000 -43.000000,108.000000 -57.000000C108.000000 -81.000000,109.000000 -86.000000,114.000000 -105.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_110">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -288.000000,384.000000 -160.000000,368.000000 -117.000000C359.000000 -94.000000,358.000000 -82.000000,358.000000 -71.000000C358.000000 -24.000000,393.000000 11.000000,440.000000 11.000000C534.000000 11.000000,571.000000 -135.000000,571.000000 -143.000000C571.000000 -153.000000,562.000000 -153.000000,559.000000 -153.000000C549.000000 -153.000000,549.000000 -150.000000,544.000000 -135.000000C524.000000 -67.000000,491.000000 -11.000000,442.000000 -11.000000C425.000000 -11.000000,418.000000 -21.000000,418.000000 -44.000000C418.000000 -69.000000,427.000000 -93.000000,436.000000 -115.000000C455.000000 -168.000000,497.000000 -278.000000,497.000000 -335.000000C497.000000 -402.000000,454.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -411.000000,180.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,59.000000 -385.000000C43.000000 -351.000000,29.000000 -292.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C151.000000 -420.000000,162.000000 -407.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_111">
      <path style="fill-rule: evenodd;" d="M469.000000 -273.000000C469.000000 -377.000000,399.000000 -442.000000,309.000000 -442.000000C175.000000 -442.000000,41.000000 -300.000000,41.000000 -158.000000C41.000000 -59.000000,108.000000 11.000000,201.000000 11.000000C334.000000 11.000000,469.000000 -127.000000,469.000000 -273.000000M202.000000 -11.000000C159.000000 -11.000000,115.000000 -42.000000,115.000000 -120.000000C115.000000 -169.000000,141.000000 -277.000000,173.000000 -328.000000C223.000000 -405.000000,280.000000 -420.000000,308.000000 -420.000000C366.000000 -420.000000,396.000000 -372.000000,396.000000 -312.000000C396.000000 -273.000000,376.000000 -168.000000,338.000000 -103.000000C303.000000 -45.000000,248.000000 -11.000000,202.000000 -11.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_115">
      <path style="fill-rule: evenodd;" d="M391.000000 -374.000000C363.000000 -373.000000,343.000000 -351.000000,343.000000 -329.000000C343.000000 -315.000000,352.000000 -300.000000,374.000000 -300.000000C396.000000 -300.000000,420.000000 -317.000000,420.000000 -356.000000C420.000000 -401.000000,377.000000 -442.000000,301.000000 -442.000000C169.000000 -442.000000,132.000000 -340.000000,132.000000 -296.000000C132.000000 -218.000000,206.000000 -203.000000,235.000000 -197.000000C287.000000 -187.000000,339.000000 -176.000000,339.000000 -121.000000C339.000000 -95.000000,316.000000 -11.000000,196.000000 -11.000000C182.000000 -11.000000,105.000000 -11.000000,82.000000 -64.000000C120.000000 -59.000000,145.000000 -89.000000,145.000000 -117.000000C145.000000 -140.000000,129.000000 -152.000000,108.000000 -152.000000C82.000000 -152.000000,52.000000 -131.000000,52.000000 -86.000000C52.000000 -29.000000,109.000000 11.000000,195.000000 11.000000C357.000000 11.000000,396.000000 -110.000000,396.000000 -155.000000C396.000000 -191.000000,377.000000 -216.000000,365.000000 -228.000000C338.000000 -256.000000,309.000000 -261.000000,265.000000 -270.000000C229.000000 -278.000000,189.000000 -285.000000,189.000000 -330.000000C189.000000 -359.000000,213.000000 -420.000000,301.000000 -420.000000C326.000000 -420.000000,376.000000 -413.000000,391.000000 -374.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_117">
      <path style="fill-rule: evenodd;" d="M350.000000 -56.000000C361.000000 -15.000000,396.000000 11.000000,439.000000 11.000000C474.000000 11.000000,497.000000 -12.000000,513.000000 -44.000000C530.000000 -80.000000,543.000000 -141.000000,543.000000 -143.000000C543.000000 -153.000000,534.000000 -153.000000,531.000000 -153.000000C521.000000 -153.000000,520.000000 -149.000000,517.000000 -135.000000C503.000000 -79.000000,484.000000 -11.000000,442.000000 -11.000000C421.000000 -11.000000,411.000000 -24.000000,411.000000 -57.000000C411.000000 -79.000000,423.000000 -126.000000,431.000000 -161.000000L459.000000 -269.000000C462.000000 -284.000000,472.000000 -322.000000,476.000000 -337.000000C481.000000 -360.000000,491.000000 -398.000000,491.000000 -404.000000C491.000000 -422.000000,477.000000 -431.000000,462.000000 -431.000000C457.000000 -431.000000,431.000000 -430.000000,423.000000 -396.000000C404.000000 -323.000000,360.000000 -148.000000,348.000000 -95.000000C347.000000 -91.000000,307.000000 -11.000000,234.000000 -11.000000C182.000000 -11.000000,172.000000 -56.000000,172.000000 -93.000000C172.000000 -149.000000,200.000000 -228.000000,226.000000 -297.000000C238.000000 -327.000000,243.000000 -341.000000,243.000000 -360.000000C243.000000 -405.000000,211.000000 -442.000000,161.000000 -442.000000C66.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C82.000000 -383.000000,120.000000 -420.000000,158.000000 -420.000000C167.000000 -420.000000,183.000000 -419.000000,183.000000 -387.000000C183.000000 -363.000000,172.000000 -334.000000,166.000000 -319.000000C129.000000 -220.000000,108.000000 -158.000000,108.000000 -109.000000C108.000000 -14.000000,177.000000 11.000000,231.000000 11.000000C297.000000 11.000000,333.000000 -34.000000,350.000000 -56.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_119">
      <path style="fill-rule: evenodd;" d="M462.000000 -339.000000C467.000000 -361.000000,477.000000 -398.000000,477.000000 -404.000000C477.000000 -422.000000,463.000000 -431.000000,448.000000 -431.000000C436.000000 -431.000000,418.000000 -423.000000,411.000000 -403.000000C408.000000 -396.000000,361.000000 -205.000000,354.000000 -179.000000C347.000000 -149.000000,345.000000 -131.000000,345.000000 -113.000000C345.000000 -102.000000,345.000000 -100.000000,346.000000 -95.000000C323.000000 -42.000000,293.000000 -11.000000,254.000000 -11.000000C174.000000 -11.000000,174.000000 -85.000000,174.000000 -102.000000C174.000000 -134.000000,179.000000 -173.000000,226.000000 -296.000000C237.000000 -326.000000,243.000000 -340.000000,243.000000 -360.000000C243.000000 -405.000000,210.000000 -442.000000,161.000000 -442.000000C66.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C84.000000 -389.000000,123.000000 -420.000000,158.000000 -420.000000C167.000000 -420.000000,183.000000 -419.000000,183.000000 -387.000000C183.000000 -362.000000,172.000000 -334.000000,165.000000 -317.000000C121.000000 -199.000000,109.000000 -153.000000,109.000000 -115.000000C109.000000 -24.000000,176.000000 11.000000,251.000000 11.000000C268.000000 11.000000,315.000000 11.000000,355.000000 -59.000000C381.000000 5.000000,450.000000 11.000000,480.000000 11.000000C555.000000 11.000000,599.000000 -52.000000,625.000000 -112.000000C659.000000 -190.000000,691.000000 -324.000000,691.000000 -372.000000C691.000000 -427.000000,664.000000 -442.000000,647.000000 -442.000000C622.000000 -442.000000,597.000000 -416.000000,597.000000 -394.000000C597.000000 -381.000000,603.000000 -375.000000,612.000000 -367.000000C623.000000 -356.000000,648.000000 -330.000000,648.000000 -282.000000C648.000000 -248.000000,619.000000 -150.000000,593.000000 -99.000000C567.000000 -46.000000,532.000000 -11.000000,483.000000 -11.000000C436.000000 -11.000000,409.000000 -41.000000,409.000000 -98.000000C409.000000 -126.000000,416.000000 -157.000000,420.000000 -171.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.023041 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,6.221939 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.448410 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_111"></use>
    <use xlink:href="#GLYPHcmmi10_119" x="4.847300"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,38.015839 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_115"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,49.030106 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,64.970337 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_50"></use>
    <use xlink:href="#GLYPHcmr10_41" x="5.000095"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,82.681747 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,90.651871 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,96.850784 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_67"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,109.383789 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_111"></use>
    <use xlink:href="#GLYPHcmmi10_108" x="4.847300"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,122.180466 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_117"></use>
    <use xlink:href="#GLYPHcmmi10_109" x="5.724676"></use>
    <use xlink:href="#GLYPHcmmi10_110" x="14.504942"></use>
    <use xlink:href="#GLYPHcmmi10_115" x="20.507378"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,165.883514 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,181.823730 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_50"></use>
    <use xlink:href="#GLYPHcmr10_41" x="5.000095"></use>
  </g>
</svg></span>
as the 4 quiet zones are included. The tuple is sorted row by row,
where the first row is the upper quiet zone and the last row is the
bottom one (or QZL2 as described in ISO/IEC 16022:2006 Annex M.1.2,
Figure M.1).
</p>
<p>The computed grades for each module will be in the range 0 to 4. For
unused data modules the module grade is not computed, in this case the
corresponding tuple value will be -1.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_rows'</span><span data-if="c" style="display:none">"quality_isoiec15415_rows"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_rows"</span><span data-if="com" style="display:none">"quality_isoiec15415_rows"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_rows"</span><span data-if="python" style="display:none">"quality_isoiec15415_rows"</span></i>:</b></dt>
<dd>
<p>

Tuple with the image row coordinates of the points within the symbol
modules for which the module grades are computed with the parameter
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i>.
</p>
<p>The returned tuple has the same number and order of elements as the
corresponding result with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_cols'</span><span data-if="c" style="display:none">"quality_isoiec15415_cols"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_cols"</span><span data-if="com" style="display:none">"quality_isoiec15415_cols"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_cols"</span><span data-if="python" style="display:none">"quality_isoiec15415_cols"</span></i>:</b></dt>
<dd>
<p>

Tuple with the image column coordinates of the points within the
symbol modules for which the module grades are computed with the
parameter
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i>.
</p>
<p>The returned tuple has the same number and order of elements as the
corresponding result with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span></i>:</b></dt>
<dd>
<p>

Similar to
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span></i> but in
compliance with the ISO/IEC TR 29158 (AIM DPM-1-2006) print quality
standard.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span></i>:</b></dt>
<dd>
<p>

See the entry for
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span></i>:</b></dt>
<dd>
<p>

Similar to
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span></i> but in
compliance with the ISO/IEC 29158:2020 print quality
standard. The underlying grades are returned with one decimal place.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_rows'</span><span data-if="c" style="display:none">"quality_isoiec29158_rows"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_rows"</span><span data-if="com" style="display:none">"quality_isoiec29158_rows"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_rows"</span><span data-if="python" style="display:none">"quality_isoiec29158_rows"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_rows'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_rows"</span></i>:</b></dt>
<dd>
<p>

Similar to <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_rows'</span><span data-if="c" style="display:none">"quality_isoiec15415_rows"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_rows"</span><span data-if="com" style="display:none">"quality_isoiec15415_rows"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_rows"</span><span data-if="python" style="display:none">"quality_isoiec15415_rows"</span></i> but related to
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span></i>
and <i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_cols'</span><span data-if="c" style="display:none">"quality_isoiec29158_cols"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_cols"</span><span data-if="com" style="display:none">"quality_isoiec29158_cols"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_cols"</span><span data-if="python" style="display:none">"quality_isoiec29158_cols"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_cols'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_cols"</span></i>:</b></dt>
<dd>
<p>

Similar to <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_cols'</span><span data-if="c" style="display:none">"quality_isoiec15415_cols"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_cols"</span><span data-if="com" style="display:none">"quality_isoiec15415_cols"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_cols"</span><span data-if="python" style="display:none">"quality_isoiec15415_cols"</span></i> but related to
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span></i>
and <i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span></i>.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200, Aztec Code, QR Code and Micro QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006"</span></i>:</b></dt>
<dd>
<p>

Tuple with the assessment of print quality in compliance with
ISO/IEC TR 29158. This standard was previously established by the
Automatic Identification Manufacturers as AIM DPM-1-2006.
ISO/IEC TR 29158 is an extension to ISO/IEC 15415:2011 standard,
which defines certain requirements for the gray-scale properties of
the data code image and in doing so improves the reproducibility of
the grading results among different vendors.
</p>
<p>Using these values requires a thorough understanding of the
underlying algorithms, and we recommend to read ISO/IEC TR 29158
(AIM DPM-1-2006) and ISO/IEC 15415:2011 along with this
documentation.
</p>
<p>It is very important to note that an ISO/IEC TR 29158 (AIM DPM-1-2006)
standard conforming print quality assessment requires interactive
image acquisition! No images of a data code symbol should be regarded
if there is no information for the camera-lighting setup used to
acquire these images. In most cases this implies that the user should
set up and use her/his own camera-lighting configuration. Refer to
ISO/IEC TR 29158 (AIM DPM-1-2006) for some prescribed camera-lighting
configurations and
general configuration principles that are relevant for the standard.
Note also that, even though the implementation is strictly
based on the standard, the computation of the print quality
grades depends on the decoding algorithm used. Thus, the
print quality inspection results are relevant only for the
2D data code reader implemented with HALCON.
</p>
<p>Calling <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> with argument
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span></i> or <i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006"</span></i>
assumes that the image being processed fulfills the two criteria
explained in detail below. The returned tuple represents the 13 print
quality elements: [overall quality, cell contrast, cell modulation,
fixed pattern damage, decode, axial non-uniformity, grid
non-uniformity, unused error correction, mean
light, reflectance margin, print growth, contrast uniformity,
aperture]. The first eight as well as the last four grades
have the same meaning as the ISO/IEC 15415:2011 grades with two
exceptions: <i>contrast</i> and <i>modulation</i> are
renamed to <i>cell contrast</i> and <i>cell
       modulation</i>, respectively, to reflect differences in the
methods specified with both standards for estimating those
values. The value of <i>mean light</i> is not a grade
specified with ISO/IEC TR 29158 (AIM DPM-1-2006) standard. It is an
estimation
for the quality of the processed image computed as the mean
gray-scale value of the centers of the light data code
modules.  It is a value between 0.0 and 1.0, corresponding to
0% to 100% of the maximum gray-scale value (255 for byte
images).
For <i>QR Code</i> and <i>Micro QR Code</i> also the
<i>format information</i> and <i>version information</i>
are returned as additional grading parameters.
</p>
<p>The essence of the standard is a procedure for the adjustment of
the camera system response (SR): <i>exposure time</i>,
<i>gain</i> and/or another specific setting of the user's
camera-lighting setup. The goal is to obtain an image of the inspected
data code symbol with optimal gray-scale properties. In the image
processing context, which is in the main focus of the standard, this
is also the key to reproducibility of the grading results.
An image has the required gray-scale properties when its
<i>'mean light'</i> value is between 70% and 86%
(<i>0.70</i> and <i>0.86</i>, respectively). Trying to achieve
this condition for images of physically low-contrast data code symbols
results usually in very high SR levels. Therefore, the standard
defines additionally a calibration routine, which identifies for
comparison
purposes the normal (calibrated) system response settings (SRcal)
by evaluating images of an object with well-known reflectance
properties (such as NIST traceable calibrated conformance test card).
Finally, the <b>two image acquisition criteria</b> for an image
read: <b>first</b>, the image must have a <i>mean light</i>
value between 70% and 86% (<i>0.70</i> and <i>0.86</i>,
respectively); <b>second</b>, it has to be obtained with system
response (SR) settings fulfilling: SR/SRcal<span title="14" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
</svg></span>16.
If no image of the data code symbol can be obtained to fulfill
both criteria, the symbol must be graded with 0.
</p>
<p>As neither the adjustment of the system response nor the verification
of the SR criterion can be carried out from within a HALCON operator,
the assessment of the AIM DPM-1-2006 quality grades should be
performed in an appropriate program setup. The user is referred
to two example programs provided with her/his installation of HALCON
(calibration_aimdpm_1_2006.hdev and  print_quality_aimdpm_1_2006.hdev
in the directory HALCONEXAMPLES/hdevelop/Identification/Data-Code),
which demonstrate the calibration and the grade evaluation routines,
respectively. Both image criteria, as well as further details
regarding the general camera setup and image acquisition are also
explained and demonstrated there. Everyone who intends to use the
AIM DPM-1-2006 grading standard can use the programs as a starting
point and adapt them for her/his own camera-lighting setup.
</p>
<p>The <i>aperture</i> is the size of the synthesized aperture
in units of the module size of the symbol. This aperture is
used to obtain the reference gray scale image during the
grading procedure and selected by the procedure described in
ISO/IEC TR 29158 (AIM DPM-1-2006), Chapter 7.3.
</p>
<p>To be able to compute the quality values for QR Code, Micro QR Code,
PDF417, and Aztec Code, it is necessary that the
parameter <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
(see <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) is set to a value greater
than or equal to <i>0</i>. For Data Matrix ECC 200, quality grading
can also be performed with a <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> value of
<i>-1</i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_values'</span><span data-if="c" style="display:none">"quality_isoiec29158_values"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_values"</span><span data-if="com" style="display:none">"quality_isoiec29158_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_values"</span><span data-if="python" style="display:none">"quality_isoiec29158_values"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_values'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_values"</span></i>:</b></dt>
<dd>
<p>

Similar to <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_values"</span></i>, the raw values
for all <i>'directly measurable'</i> grades are reported but
in compliance with the ISO/IEC TR 29158 (AIM DPM-1-2006) print
quality standard.
The list of the reported and the excluded raw measurement values
is the same as with <i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_values"</span></i>. The
auxiliary ISO/IEC TR 29158 (AIM DPM-1-2006) grade <i>mean light</i> is reported
in the same format (between 0.0 and 1.0) both by
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_values'</span><span data-if="c" style="display:none">"quality_isoiec29158_values"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_values"</span><span data-if="com" style="display:none">"quality_isoiec29158_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_values"</span><span data-if="python" style="display:none">"quality_isoiec29158_values"</span></i> (<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_values'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_values"</span></i>).
</p>
<p>To be able to compute the quality values for QR Code, Micro QR Code,
PDF417, and Aztec Code, it is necessary that the
parameter <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
(see <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) is set to a value greater
than or equal to <i>0</i>. For Data Matrix ECC 200, quality grading
can also be performed with a <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> value of
<i>-1</i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_float_grades"</span></i></b></dt>
<dd>
<p>

Similar to <i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span></i>, but with continuous grading following
ISO/IEC 29158:2020. The underlying grades are returned with one decimal place.
</p>
<p>To be able to compute the quality values for QR Code, Micro QR Code,
and Aztec Code, it is necessary that the
parameter <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
(see <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) is set to a value greater
than or equal to <i>0</i>. For Data Matrix ECC 200, quality grading
can also be performed with a <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> value of
<i>-1</i>.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate"</span></i>:</b></dt>
<dd>
<p>

Tuple with intermediate results that are determined during
the assessment of print quality of ECC 200 codes in
compliance with the international standards ISO/IEC TR 29158
(or AIM DPM-1-2006), ISO/IEC 15415:2011 and ISO/IEC 16022:2006.
Using these values
requires a thorough understanding of the underlying
algorithms, and we strongly recommend to read ISO/IEC TR 29158
(AIM DPM-1-2006), ISO/IEC 15415:2011 and ISO/IEC 16022:2006 along
with this documentation.
</p>
<p>A description of the intermediate results is given below. The
returned intermediate grades
(<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate"</span></i>)
and values (<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate_values'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate_values"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate_values'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span></i>) are the minimal
grades and values for the code under inspection. The names of the
available intermediate results can be queried with
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate_labels'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate_labels"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate_labels'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span></i>.
</p>
<ul>
<li>
<p> <i>'T2'</i>: The threshold created using the
histogram of the reference gray-scale image pixel values
at each intersection point of the grid using the method
defined in Annex A, ISO/IEC TR 29158 (AIM DPM-1-2006).
</p>
</li>
<li>
<p> <i>'MD'</i>: The value for MeanDark corresponding
to T2, which is determined using the method defined in
Annex A, ISO/IEC TR 29158 (AIM DPM-1-2006).
</p>
</li>
<li>
<p> <i>'MLtarget'</i>: The value for MeanLight
corresponding to T2, which is determined using the method
defined in Annex A, ISO/IEC TR 29158 (AIM DPM-1-2006).
</p>
</li>
<li>
<p> <i>'L1'</i> and <i>'L2'</i>: The grades of the
vertical and horizontal portions of the outside L of the
fixed pattern as defined in Chapter M.1.2, ISO/IEC
16022:2006. The corresponding number of damaged modules
is returned as value.
</p>
</li>
<li>
<p> <i>'QZL1'</i> and <i>'QZL2'</i>: The grades of
the vertical and horizontal portions of the quiet zone
adjacent to L1 and L2, respectively (see Chapter M.1.2,
ISO/IEC 16022:2006). The corresponding number of damaged
modules is returned as value.
</p>
</li>
<li>
<p> <i>'Transition Ratio'</i>: The grade for the
transition ratio test described in Chapter M.1.3 b),
ISO/IEC 16022:2006. The transition ratio TR is returned
as value. It measures the ratio between the number of
transitions on the clock track and the associated solid
area.
</p>
</li>
<li>
<p> <i>'Clock track regularity'</i>: The grade for the
clock track regularity test as described in Chapter M.1.3
e), ISO/IEC 16022:2006. If for any group of five adjacent
modules more than two modules are considered as errors,
this grade is 0, otherwise its 4. There is no
corresponding value.
</p>
</li>
<li>
<p> <i>'Clock track damage'</i>: The grade for the
clock track damage (see Chapter M.1.3 f), ISO/IEC
16022:2006). The corresponding number of damaged modules
is returned as value.
</p>
</li>
<li>
<p> <i>'Solid fix pattern'</i>: The grade for the solid
fixed pattern (see Chapter M.1.3 g), ISO/IEC 16022:2006). The
corresponding number of damaged modules is returned as
value.
</p>
</li>
<li>
<p> <i>'Clock track and adjacent solid pattern'</i>:
The overall grade for the clock track and adjacent solid
pattern (see Chapter M.1.3 k), ISO/IEC 16022:2006). There
is no corresponding value.
</p>
</li>
<li>
<p> <i>'Distributed damage grade'</i>: The average grade
for the for the fixed pattern. It is based on the grades
for the L1, L2, QZL1, QZL2, and the overall grade for the
clock track and adjacent solid pattern (see Chapter
M.1.4, ISO/IEC 16022:2006, and Chapter 9.4, ISO/IEC TR 29158
(AIM DPM-1-2006)). There is no corresponding value.
</p>
</li>
</ul>
<p>
The grade for <i>fixed pattern damage</i> for the symbol is
given by the minimum of the grades for <i>'L1'</i>,
<i>'L2'</i>, <i>'QZL1'</i>, <i>'QZL2'</i>,
<i>'Clock track and adjacent solid pattern'</i> and
<i>'Distributed damage grade'</i> (see Chapter M1.4,
ISO/IEC 16022:2006).
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data Matrix ECC 200, QR Code, Aztec Code, and DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'structured_append'</span><span data-if="c" style="display:none">"structured_append"</span><span data-if="cpp" style="display:none">"structured_append"</span><span data-if="com" style="display:none">"structured_append"</span><span data-if="dotnet" style="display:none">"structured_append"</span><span data-if="python" style="display:none">"structured_append"</span></i>:</b></dt>
<dd>
<p>

If the symbol is part of a group of symbols (“Structured
Append”), this parameter contains (1) the index of
the symbol in the group, (2) the number of symbols that belong
to the group, and (3) a number that serves as a group identifier.
For Aztec Codes the group identifier is a string. If the symbol
is not part of a group of symbols (“Structured Append”) a empty
tuple is returned in case of Aztec Codes.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'gs1_lint_passed'</span><span data-if="c" style="display:none">"gs1_lint_passed"</span><span data-if="cpp" style="display:none">"gs1_lint_passed"</span><span data-if="com" style="display:none">"gs1_lint_passed"</span><span data-if="dotnet" style="display:none">"gs1_lint_passed"</span><span data-if="python" style="display:none">"gs1_lint_passed"</span></i>:</b></dt>
<dd>
<p>

If the symbol contains a GS1 formatted string and the data code
model was created to read GS1 codes, additional linting can be
performed on the contained string. <i><span data-if="hdevelop" style="display:inline">'gs1_lint_passed'</span><span data-if="c" style="display:none">"gs1_lint_passed"</span><span data-if="cpp" style="display:none">"gs1_lint_passed"</span><span data-if="com" style="display:none">"gs1_lint_passed"</span><span data-if="dotnet" style="display:none">"gs1_lint_passed"</span><span data-if="python" style="display:none">"gs1_lint_passed"</span></i>
will return <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, if this is successful. Otherwise, <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>
is returned. Linting checks that
</p>
<ul>
<li>
<p> one AI (Application Identifier) does not occur multiple times with different contents,
</p>
</li>
<li>
<p> AIs required by other AIs are contained,
</p>
</li>
<li>
<p> AIs excluded by other AIs are not included, and that
</p>
</li>
<li>
<p> specific formatting rules for AIs are respected.
</p>
</li>
</ul>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'gs1_lint_result'</span><span data-if="c" style="display:none">"gs1_lint_result"</span><span data-if="cpp" style="display:none">"gs1_lint_result"</span><span data-if="com" style="display:none">"gs1_lint_result"</span><span data-if="dotnet" style="display:none">"gs1_lint_result"</span><span data-if="python" style="display:none">"gs1_lint_result"</span></i>:</b></dt>
<dd>
<p>

<i><span data-if="hdevelop" style="display:inline">'gs1_lint_result'</span><span data-if="c" style="display:none">"gs1_lint_result"</span><span data-if="cpp" style="display:none">"gs1_lint_result"</span><span data-if="com" style="display:none">"gs1_lint_result"</span><span data-if="dotnet" style="display:none">"gs1_lint_result"</span><span data-if="python" style="display:none">"gs1_lint_result"</span></i> performs the linting tests documented in
<i><span data-if="hdevelop" style="display:inline">'gs1_lint_passed'</span><span data-if="c" style="display:none">"gs1_lint_passed"</span><span data-if="cpp" style="display:none">"gs1_lint_passed"</span><span data-if="com" style="display:none">"gs1_lint_passed"</span><span data-if="dotnet" style="display:none">"gs1_lint_passed"</span><span data-if="python" style="display:none">"gs1_lint_passed"</span></i>. If the linting fails,
a list of human-readable error messages is returned, if it is successful,
<i><span data-if="hdevelop" style="display:inline">'ok'</span><span data-if="c" style="display:none">"ok"</span><span data-if="cpp" style="display:none">"ok"</span><span data-if="com" style="display:none">"ok"</span><span data-if="dotnet" style="display:none">"ok"</span><span data-if="python" style="display:none">"ok"</span></i> is returned.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> DotCode:
</p>
<p>DotCodes are able to encode separate data messages in one single DotCode symbol.
According to the AIM International Symbology Specification for DotCode, such
separated messages should be treated as if they come from different symbols.
In the following list, all results are listed which can be queried for DotCodes
and need a dedicated result for each separated message segment. They are all
postfixed with <i><span data-if="hdevelop" style="display:inline">'_separated'</span><span data-if="c" style="display:none">"_separated"</span><span data-if="cpp" style="display:none">"_separated"</span><span data-if="com" style="display:none">"_separated"</span><span data-if="dotnet" style="display:none">"_separated"</span><span data-if="python" style="display:none">"_separated"</span></i>. They return a tuple with the results
separated for each separated message segment.
In case of a symbol with separated messages the
correspondent results without <i><span data-if="hdevelop" style="display:inline">'_separated'</span><span data-if="c" style="display:none">"_separated"</span><span data-if="cpp" style="display:none">"_separated"</span><span data-if="com" style="display:none">"_separated"</span><span data-if="dotnet" style="display:none">"_separated"</span><span data-if="python" style="display:none">"_separated"</span></i> postfix returns the result for
the first separated message segment.
Note: If one of the separated messages can not be decoded, no results are returned.
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'symbology_ident_separated'</span><span data-if="c" style="display:none">"symbology_ident_separated"</span><span data-if="cpp" style="display:none">"symbology_ident_separated"</span><span data-if="com" style="display:none">"symbology_ident_separated"</span><span data-if="dotnet" style="display:none">"symbology_ident_separated"</span><span data-if="python" style="display:none">"symbology_ident_separated"</span></i>:</b></dt>
<dd>
<p>

see <i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i> for details.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoded_string_separated'</span><span data-if="c" style="display:none">"decoded_string_separated"</span><span data-if="cpp" style="display:none">"decoded_string_separated"</span><span data-if="com" style="display:none">"decoded_string_separated"</span><span data-if="dotnet" style="display:none">"decoded_string_separated"</span><span data-if="python" style="display:none">"decoded_string_separated"</span></i>:</b></dt>
<dd>
<p>

see <i><span data-if="hdevelop" style="display:inline">'decoded_string'</span><span data-if="c" style="display:none">"decoded_string"</span><span data-if="cpp" style="display:none">"decoded_string"</span><span data-if="com" style="display:none">"decoded_string"</span><span data-if="dotnet" style="display:none">"decoded_string"</span><span data-if="python" style="display:none">"decoded_string"</span></i> for details.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'structured_append_separated'</span><span data-if="c" style="display:none">"structured_append_separated"</span><span data-if="cpp" style="display:none">"structured_append_separated"</span><span data-if="com" style="display:none">"structured_append_separated"</span><span data-if="dotnet" style="display:none">"structured_append_separated"</span><span data-if="python" style="display:none">"structured_append_separated"</span></i>:</b></dt>
<dd>
<p>

see <i><span data-if="hdevelop" style="display:inline">'structured_append'</span><span data-if="c" style="display:none">"structured_append"</span><span data-if="cpp" style="display:none">"structured_append"</span><span data-if="com" style="display:none">"structured_append"</span><span data-if="dotnet" style="display:none">"structured_append"</span><span data-if="python" style="display:none">"structured_append"</span></i> for details.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'reader_programming_separated'</span><span data-if="c" style="display:none">"reader_programming_separated"</span><span data-if="cpp" style="display:none">"reader_programming_separated"</span><span data-if="com" style="display:none">"reader_programming_separated"</span><span data-if="dotnet" style="display:none">"reader_programming_separated"</span><span data-if="python" style="display:none">"reader_programming_separated"</span></i>:</b></dt>
<dd>
<p>

see <i><span data-if="hdevelop" style="display:inline">'reader_programming'</span><span data-if="c" style="display:none">"reader_programming"</span><span data-if="cpp" style="display:none">"reader_programming"</span><span data-if="com" style="display:none">"reader_programming"</span><span data-if="dotnet" style="display:none">"reader_programming"</span><span data-if="python" style="display:none">"reader_programming"</span></i> for details.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoded_data_separated'</span><span data-if="c" style="display:none">"decoded_data_separated"</span><span data-if="cpp" style="display:none">"decoded_data_separated"</span><span data-if="com" style="display:none">"decoded_data_separated"</span><span data-if="dotnet" style="display:none">"decoded_data_separated"</span><span data-if="python" style="display:none">"decoded_data_separated"</span></i>:</b></dt>
<dd>
<p>

see <i><span data-if="hdevelop" style="display:inline">'decoded_data'</span><span data-if="c" style="display:none">"decoded_data"</span><span data-if="cpp" style="display:none">"decoded_data"</span><span data-if="com" style="display:none">"decoded_data"</span><span data-if="dotnet" style="display:none">"decoded_data"</span><span data-if="python" style="display:none">"decoded_data"</span></i> for details.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'segment_num'</span><span data-if="c" style="display:none">"segment_num"</span><span data-if="cpp" style="display:none">"segment_num"</span><span data-if="com" style="display:none">"segment_num"</span><span data-if="dotnet" style="display:none">"segment_num"</span><span data-if="python" style="display:none">"segment_num"</span></i>:</b></dt>
<dd>
<p>

Number of separated message segments.
</p>
</dd>
</dl>
</li>
</ul>
<p><b>Status message</b>
</p>
<p>The status parameter that can be queried for all candidates
reveals why and where in the evaluation phase a candidate was
discarded.
The following list shows the most important status messages in the order
of their generation during the evaluation phase:
</p>
<ul>
<li>
<p> Data matrix ECC 200:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: too close to image border'</span><span data-if="c" style="display:none">"aborted: too close to image border"</span><span data-if="cpp" style="display:none">"aborted: too close to image border"</span><span data-if="com" style="display:none">"aborted: too close to image border"</span><span data-if="dotnet" style="display:none">"aborted: too close to image border"</span><span data-if="python" style="display:none">"aborted: too close to image border"</span></i>:</b></dt>
<dd>
<p>

The symbol candidate is too close to the border.
Only symbols that are completely within the image can be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted adjusting: ...'</span><span data-if="c" style="display:none">"aborted adjusting: ..."</span><span data-if="cpp" style="display:none">"aborted adjusting: ..."</span><span data-if="com" style="display:none">"aborted adjusting: ..."</span><span data-if="dotnet" style="display:none">"aborted adjusting: ..."</span><span data-if="python" style="display:none">"aborted adjusting: ..."</span></i>:</b></dt>
<dd>
<p>

It is not possible to determine the exact position of the
finder pattern in the processing image.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted finder pattern: ...'</span><span data-if="c" style="display:none">"aborted finder pattern: ..."</span><span data-if="cpp" style="display:none">"aborted finder pattern: ..."</span><span data-if="com" style="display:none">"aborted finder pattern: ..."</span><span data-if="dotnet" style="display:none">"aborted finder pattern: ..."</span><span data-if="python" style="display:none">"aborted finder pattern: ..."</span></i>:</b></dt>
<dd>
<p>

It is not possible to determine the width of one of the two
legs of the L-shaped finder pattern.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted leg widths: widths of the finder
      pattern legs differ too much'</span><span data-if="c" style="display:none">"aborted leg widths: widths of the finder
      pattern legs differ too much"</span><span data-if="cpp" style="display:none">"aborted leg widths: widths of the finder
      pattern legs differ too much"</span><span data-if="com" style="display:none">"aborted leg widths: widths of the finder
      pattern legs differ too much"</span><span data-if="dotnet" style="display:none">"aborted leg widths: widths of the finder
      pattern legs differ too much"</span><span data-if="python" style="display:none">"aborted leg widths: widths of the finder
      pattern legs differ too much"</span></i>:</b></dt>
<dd>
<p>

The widths of the two legs of the L-shaped finder pattern
differ too much.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted alternating side: ...'</span><span data-if="c" style="display:none">"aborted alternating side: ..."</span><span data-if="cpp" style="display:none">"aborted alternating side: ..."</span><span data-if="com" style="display:none">"aborted alternating side: ..."</span><span data-if="dotnet" style="display:none">"aborted alternating side: ..."</span><span data-if="python" style="display:none">"aborted alternating side: ..."</span></i>:</b></dt>
<dd>
<p>

For one dimension of the candidate, two opposite borders were
found during the symbol search phase.
However, it is not possible to determine which is the
alternating and which the solid side of the finder pattern.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted border search: ...'</span><span data-if="c" style="display:none">"aborted border search: ..."</span><span data-if="cpp" style="display:none">"aborted border search: ..."</span><span data-if="com" style="display:none">"aborted border search: ..."</span><span data-if="dotnet" style="display:none">"aborted border search: ..."</span><span data-if="python" style="display:none">"aborted border search: ..."</span></i>:</b></dt>
<dd>
<p>

For one dimension of the candidate, only the border that
belongs to the solid side of the finder pattern was found
during the symbol search phase.
Searching the opposite (the alternating) side failed.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: invalid size'</span><span data-if="c" style="display:none">"aborted symbol: invalid size"</span><span data-if="cpp" style="display:none">"aborted symbol: invalid size"</span><span data-if="com" style="display:none">"aborted symbol: invalid size"</span><span data-if="dotnet" style="display:none">"aborted symbol: invalid size"</span><span data-if="python" style="display:none">"aborted symbol: invalid size"</span></i>:</b></dt>
<dd>
<p>

The number of rows and columns of the symbol that was deduced
from the alternating pattern does not yield in a valid ECC 200
code.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: size does not fit strict
      model definition'</span><span data-if="c" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="cpp" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="com" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="dotnet" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="python" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span></i>:</b></dt>
<dd>
<p>

Although the deduced symbol size is a valid ECC 200 size, it is
not inside the range predefined by the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: rectangular symbol does not
      fit strict mirror definition of model'</span><span data-if="c" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="cpp" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="com" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="dotnet" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="python" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span></i>:</b></dt>
<dd>
<p>

The symbol was identified as a rectangular ECC 200 code.
In conjunction with the mirroring parameter of the model,
however, the symbol's rows and columns are swapped such that
no valid ECC 200 code is achieved.
This test is of course not possible for square symbols.
There, a wrong mirroring specification will affect the reading
of the symbol data and, in general, lead to the following
error:
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error correction failed'</span><span data-if="c" style="display:none">"error correction failed"</span><span data-if="cpp" style="display:none">"error correction failed"</span><span data-if="com" style="display:none">"error correction failed"</span><span data-if="dotnet" style="display:none">"error correction failed"</span><span data-if="python" style="display:none">"error correction failed"</span></i>:</b></dt>
<dd>
<p>

The error correction failed because there are too many modules
that couldn't be interpreted correctly.
Normally, this indicates that the print and/or image quality
is too bad, but it may also be provoked by a wrong mirroring
specification in the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: special decoding reader
      requested'</span><span data-if="c" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="cpp" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="com" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="dotnet" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="python" style="display:none">"decoding failed: special decoding reader
      requested"</span></i>:</b></dt>
<dd>
<p>

The decoded data contains a message for programming the data
code reader.
This feature is not supported.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: inconsistent data'</span><span data-if="c" style="display:none">"decoding failed: inconsistent data"</span><span data-if="cpp" style="display:none">"decoding failed: inconsistent data"</span><span data-if="com" style="display:none">"decoding failed: inconsistent data"</span><span data-if="dotnet" style="display:none">"decoding failed: inconsistent data"</span><span data-if="python" style="display:none">"decoding failed: inconsistent data"</span></i>:</b></dt>
<dd>
<p>

The data coded in the symbol is not consistent and therefore
cannot be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: invalid GS1 format'</span><span data-if="c" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="cpp" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="com" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="dotnet" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="python" style="display:none">"decoding failed: invalid GS1 format"</span></i>:</b></dt>
<dd>
<p>

The data encoded in the symbol is not conform to the GS1
General Specifications. This indicates an attempt
to read a non-GS1 symbol with a data code model created as
GS1 reader.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quiet zone is missing'</span><span data-if="c" style="display:none">"quiet zone is missing"</span><span data-if="cpp" style="display:none">"quiet zone is missing"</span><span data-if="com" style="display:none">"quiet zone is missing"</span><span data-if="dotnet" style="display:none">"quiet zone is missing"</span><span data-if="python" style="display:none">"quiet zone is missing"</span></i>:</b></dt>
<dd>
<p>

The quiet zone of this candidate is missing or shows severe
defects.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'invalid finder pattern or quiet zone check failed'</span><span data-if="c" style="display:none">"invalid finder pattern or quiet zone check failed"</span><span data-if="cpp" style="display:none">"invalid finder pattern or quiet zone check failed"</span><span data-if="com" style="display:none">"invalid finder pattern or quiet zone check failed"</span><span data-if="dotnet" style="display:none">"invalid finder pattern or quiet zone check failed"</span><span data-if="python" style="display:none">"invalid finder pattern or quiet zone check failed"</span></i>:</b></dt>
<dd>
<p>

The candidate could be decoded, but was discarded as possible
false positive, because the finder pattern or quiet zone could
not be found. This additional check is performed for symbols
of size 10x10, 12x12 and 8x18, as these codes have little
error correction and false positives may easily be found in
unrelated texture.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Data matrix ECC 200 (if a high finder pattern tolerance is
chosen, the following messages may occur additionally):
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted module grid search: no regular
      module grid found'</span><span data-if="c" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="cpp" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="com" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="dotnet" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="python" style="display:none">"aborted module grid search: no regular
      module grid found"</span></i></b></dt>
<dd>
<p>

No regular module grid structure could be found within the
candidate region. Therefore, the candidate is assumed to be
no ECC 200 symbol.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted border search: overlap with
      previous result'</span><span data-if="c" style="display:none">"aborted border search: overlap with
      previous result"</span><span data-if="cpp" style="display:none">"aborted border search: overlap with
      previous result"</span><span data-if="com" style="display:none">"aborted border search: overlap with
      previous result"</span><span data-if="dotnet" style="display:none">"aborted border search: overlap with
      previous result"</span><span data-if="python" style="display:none">"aborted border search: overlap with
      previous result"</span></i></b></dt>
<dd>
<p>

The current candidate overlaps with a previously found result.
Therefore, the search for a valid border was aborted.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted border search: no consistent
      border found'</span><span data-if="c" style="display:none">"aborted border search: no consistent
      border found"</span><span data-if="cpp" style="display:none">"aborted border search: no consistent
      border found"</span><span data-if="com" style="display:none">"aborted border search: no consistent
      border found"</span><span data-if="dotnet" style="display:none">"aborted border search: no consistent
      border found"</span><span data-if="python" style="display:none">"aborted border search: no consistent
      border found"</span></i></b></dt>
<dd>
<p>

No consistent border that leads to a symbol size that is
within the range of valid symbol sizes leads to a successful
decoding.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted reading: result is likely to be
      random'</span><span data-if="c" style="display:none">"aborted reading: result is likely to be
      random"</span><span data-if="cpp" style="display:none">"aborted reading: result is likely to be
      random"</span><span data-if="com" style="display:none">"aborted reading: result is likely to be
      random"</span><span data-if="dotnet" style="display:none">"aborted reading: result is likely to be
      random"</span><span data-if="python" style="display:none">"aborted reading: result is likely to be
      random"</span></i></b></dt>
<dd>
<p>

The candidate could be decoded. However, because the symbol
size was small and the code had too many decoding errors,
the result is very likely to be random, and hence was
rejected. This heuristic is applied for symbols of size 10
x 10 with at least 1 decoding error and for
symbols of size 12 x 12 or 8 x
18 with more than 1 decoding error.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: too close to image border'</span><span data-if="c" style="display:none">"aborted: too close to image border"</span><span data-if="cpp" style="display:none">"aborted: too close to image border"</span><span data-if="com" style="display:none">"aborted: too close to image border"</span><span data-if="dotnet" style="display:none">"aborted: too close to image border"</span><span data-if="python" style="display:none">"aborted: too close to image border"</span></i>:</b></dt>
<dd>
<p>

The symbol candidate is too close to the border.
Only symbols that are completely within the image can be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted adjusting: finder patterns'</span><span data-if="c" style="display:none">"aborted adjusting: finder patterns"</span><span data-if="cpp" style="display:none">"aborted adjusting: finder patterns"</span><span data-if="com" style="display:none">"aborted adjusting: finder patterns"</span><span data-if="dotnet" style="display:none">"aborted adjusting: finder patterns"</span><span data-if="python" style="display:none">"aborted adjusting: finder patterns"</span></i>:</b></dt>
<dd>
<p>

It is not possible to determine the exact position of the
finder pattern in the processing image.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: different number of rows
      and columns'</span><span data-if="c" style="display:none">"aborted symbol: different number of rows
      and columns"</span><span data-if="cpp" style="display:none">"aborted symbol: different number of rows
      and columns"</span><span data-if="com" style="display:none">"aborted symbol: different number of rows
      and columns"</span><span data-if="dotnet" style="display:none">"aborted symbol: different number of rows
      and columns"</span><span data-if="python" style="display:none">"aborted symbol: different number of rows
      and columns"</span></i>:</b></dt>
<dd>
<p>

It is not possible to determine for both dimensions a
consistent symbol size by the size and the position of the
detected finder pattern.
When reading Model 2 symbols, this error may occur only with
small symbols (&lt; version 7 or 45 x 45
modules).
For bigger symbols the size is coded within the symbol
in the version information region.
The estimated size is used only as a hint for finding the
version information region.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: invalid size'</span><span data-if="c" style="display:none">"aborted symbol: invalid size"</span><span data-if="cpp" style="display:none">"aborted symbol: invalid size"</span><span data-if="com" style="display:none">"aborted symbol: invalid size"</span><span data-if="dotnet" style="display:none">"aborted symbol: invalid size"</span><span data-if="python" style="display:none">"aborted symbol: invalid size"</span></i>:</b></dt>
<dd>
<p>

The size determined by the size and the position of the
detected finder pattern is too small or (only Model 1) too
big.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding of version information failed'</span><span data-if="c" style="display:none">"decoding of version information failed"</span><span data-if="cpp" style="display:none">"decoding of version information failed"</span><span data-if="com" style="display:none">"decoding of version information failed"</span><span data-if="dotnet" style="display:none">"decoding of version information failed"</span><span data-if="python" style="display:none">"decoding of version information failed"</span></i>:</b></dt>
<dd>
<p>

While processing a Model 2 symbol, the symbol version
as determined by the finder pattern is at least 7
(<span title="15" style="vertical-align:-0.207493em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.900873em" height="0.894063em" viewBox="0 0 14.413971 14.305008">
<!-- Original BoundingBox: -7.206985 -7.152496 7.206985 7.152512 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_21">
      <path style="fill-rule: evenodd;" d="M674.000000 -324.000000C688.000000 -330.000000,694.000000 -337.000000,694.000000 -346.000000C694.000000 -356.000000,690.000000 -362.000000,674.000000 -369.000000L123.000000 -629.000000C109.000000 -636.000000,105.000000 -636.000000,103.000000 -636.000000C91.000000 -636.000000,83.000000 -627.000000,83.000000 -616.000000C83.000000 -604.000000,91.000000 -599.000000,102.000000 -594.000000L627.000000 -347.000000L104.000000 -100.000000C84.000000 -91.000000,83.000000 -83.000000,83.000000 -77.000000C83.000000 -66.000000,92.000000 -57.000000,103.000000 -57.000000C106.000000 -57.000000,108.000000 -57.000000,121.000000 -64.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.809006 10.985123)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_21"></use>
  </g>
</svg></span> 45 x 45 modules).
However, reading the version from the appropriate region in
the symbol failed.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: size does not fit strict
      model definition'</span><span data-if="c" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="cpp" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="com" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="dotnet" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="python" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span></i>:</b></dt>
<dd>
<p>

Although the deduced symbol size is valid, it is not inside the
range predefined by the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding of format information failed'</span><span data-if="c" style="display:none">"decoding of format information failed"</span><span data-if="cpp" style="display:none">"decoding of format information failed"</span><span data-if="com" style="display:none">"decoding of format information failed"</span><span data-if="dotnet" style="display:none">"decoding of format information failed"</span><span data-if="python" style="display:none">"decoding of format information failed"</span></i>:</b></dt>
<dd>
<p>

Reading the format information (mask pattern and error
correction level) from the appropriate region in the symbol
failed.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error correction failed'</span><span data-if="c" style="display:none">"error correction failed"</span><span data-if="cpp" style="display:none">"error correction failed"</span><span data-if="com" style="display:none">"error correction failed"</span><span data-if="dotnet" style="display:none">"error correction failed"</span><span data-if="python" style="display:none">"error correction failed"</span></i>:</b></dt>
<dd>
<p>

The error correction failed because there are too many modules
that couldn't be interpreted correctly.
Normally, this indicates that the print and/or image quality
is too bad, but it may also be provoked by a wrong mirroring
specification in the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: inconsistent data'</span><span data-if="c" style="display:none">"decoding failed: inconsistent data"</span><span data-if="cpp" style="display:none">"decoding failed: inconsistent data"</span><span data-if="com" style="display:none">"decoding failed: inconsistent data"</span><span data-if="dotnet" style="display:none">"decoding failed: inconsistent data"</span><span data-if="python" style="display:none">"decoding failed: inconsistent data"</span></i>:</b></dt>
<dd>
<p>

The data coded in the symbol is not consistent and therefore
cannot be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: invalid GS1 format'</span><span data-if="c" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="cpp" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="com" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="dotnet" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="python" style="display:none">"decoding failed: invalid GS1 format"</span></i>:</b></dt>
<dd>
<p>

The data encoded in the symbol is not conform to the GS1
General Specifications. This indicates an attempt
to read a non-GS1 symbol with a data code model created as
GS1 reader.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> Aztec Code:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: too close to image border'</span><span data-if="c" style="display:none">"aborted: too close to image border"</span><span data-if="cpp" style="display:none">"aborted: too close to image border"</span><span data-if="com" style="display:none">"aborted: too close to image border"</span><span data-if="dotnet" style="display:none">"aborted: too close to image border"</span><span data-if="python" style="display:none">"aborted: too close to image border"</span></i>:</b></dt>
<dd>
<p>

The symbol candidate is too close to the border or even partially
outside the image.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: mode message could not be decoded'</span><span data-if="c" style="display:none">"aborted: mode message could not be decoded"</span><span data-if="cpp" style="display:none">"aborted: mode message could not be decoded"</span><span data-if="com" style="display:none">"aborted: mode message could not be decoded"</span><span data-if="dotnet" style="display:none">"aborted: mode message could not be decoded"</span><span data-if="python" style="display:none">"aborted: mode message could not be decoded"</span></i>:</b></dt>
<dd>
<p>

The mode message of this candidate could not be decoded because
there are too many modules that could not be interpreted correctly.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: symbol expansion failed'</span><span data-if="c" style="display:none">"aborted: symbol expansion failed"</span><span data-if="cpp" style="display:none">"aborted: symbol expansion failed"</span><span data-if="com" style="display:none">"aborted: symbol expansion failed"</span><span data-if="dotnet" style="display:none">"aborted: symbol expansion failed"</span><span data-if="python" style="display:none">"aborted: symbol expansion failed"</span></i>:</b></dt>
<dd>
<p>

The expansion of the candidate failed. Most likely because of
too heavy perspective distortions.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: size does not fit strict
      model definition'</span><span data-if="c" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="cpp" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="com" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="dotnet" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="python" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span></i>:</b></dt>
<dd>
<p>

Although the deduced symbol size is valid, it is not inside the
range predefined by the model. Adapt the model
(<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) to include this candidate in
the final results.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: rectangular symbol does not
      fit strict mirror definition of model'</span><span data-if="c" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="cpp" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="com" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="dotnet" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span><span data-if="python" style="display:none">"aborted symbol: rectangular symbol does not
      fit strict mirror definition of model"</span></i>:</b></dt>
<dd>
<p>

Although this candidate is valid, it does not fit the mirroring
constraint predefined by the model. Adapt the model
(<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) to include this candidate in
the final results.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: invalid format'</span><span data-if="c" style="display:none">"aborted symbol: invalid format"</span><span data-if="cpp" style="display:none">"aborted symbol: invalid format"</span><span data-if="com" style="display:none">"aborted symbol: invalid format"</span><span data-if="dotnet" style="display:none">"aborted symbol: invalid format"</span><span data-if="python" style="display:none">"aborted symbol: invalid format"</span></i>:</b></dt>
<dd>
<p>

Although this candidate is valid, it does not fit the format
predefined by the model. Adapt the model
(<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>) to include this candidate in
the final results.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error correction failed'</span><span data-if="c" style="display:none">"error correction failed"</span><span data-if="cpp" style="display:none">"error correction failed"</span><span data-if="com" style="display:none">"error correction failed"</span><span data-if="dotnet" style="display:none">"error correction failed"</span><span data-if="python" style="display:none">"error correction failed"</span></i>:</b></dt>
<dd>
<p>

The error correction failed because there are too many modules
that could not be interpreted correctly.
Normally, this indicates that the print and/or image quality
is too bad, but it may also be provoked by a wrong mirroring
specification in the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: invalid GS1 format'</span><span data-if="c" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="cpp" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="com" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="dotnet" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="python" style="display:none">"decoding failed: invalid GS1 format"</span></i>:</b></dt>
<dd>
<p>

The data encoded in the symbol is not conform to the GS1
General Specifications. This indicates an attempt
to read a non-GS1 symbol with a data code model created as
GS1 reader.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> PDF417:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted: too close to image border'</span><span data-if="c" style="display:none">"aborted: too close to image border"</span><span data-if="cpp" style="display:none">"aborted: too close to image border"</span><span data-if="com" style="display:none">"aborted: too close to image border"</span><span data-if="dotnet" style="display:none">"aborted: too close to image border"</span><span data-if="python" style="display:none">"aborted: too close to image border"</span></i>:</b></dt>
<dd>
<p>

The symbol candidate is too close to the border.
Only symbols that are completely within the image can be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: size does not fit strict
      model definition'</span><span data-if="c" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="cpp" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="com" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="dotnet" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="python" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span></i>:</b></dt>
<dd>
<p>

Although the deduced symbol size is valid, it is not inside the
range predefined by the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error correction failed'</span><span data-if="c" style="display:none">"error correction failed"</span><span data-if="cpp" style="display:none">"error correction failed"</span><span data-if="com" style="display:none">"error correction failed"</span><span data-if="dotnet" style="display:none">"error correction failed"</span><span data-if="python" style="display:none">"error correction failed"</span></i>:</b></dt>
<dd>
<p>

The error correction failed because there are too many modules
that couldn't be interpreted correctly.
Normally, this indicates that the print and/or image quality
is too bad, but it may also be provoked by a wrong mirroring
specification in the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: special decoding reader
      requested'</span><span data-if="c" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="cpp" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="com" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="dotnet" style="display:none">"decoding failed: special decoding reader
      requested"</span><span data-if="python" style="display:none">"decoding failed: special decoding reader
      requested"</span></i>:</b></dt>
<dd>
<p>

The decoded data contains a message for programming the data
code reader.
This feature is not supported.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: inconsistent data'</span><span data-if="c" style="display:none">"decoding failed: inconsistent data"</span><span data-if="cpp" style="display:none">"decoding failed: inconsistent data"</span><span data-if="com" style="display:none">"decoding failed: inconsistent data"</span><span data-if="dotnet" style="display:none">"decoding failed: inconsistent data"</span><span data-if="python" style="display:none">"decoding failed: inconsistent data"</span></i>:</b></dt>
<dd>
<p>

The data coded in the symbol is not consistent and therefore
cannot be read.
</p>
</dd>
</dl>
</li>
</ul>
<ul>
<li>
<p> DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted module grid search: no regular
      module grid found'</span><span data-if="c" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="cpp" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="com" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="dotnet" style="display:none">"aborted module grid search: no regular
      module grid found"</span><span data-if="python" style="display:none">"aborted module grid search: no regular
      module grid found"</span></i></b></dt>
<dd>
<p>

No regular module grid structure could be found within the
candidate region. Therefore, the candidate is assumed to be
no DotCode symbol.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'aborted symbol: size does not fit strict
      model definition'</span><span data-if="c" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="cpp" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="com" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="dotnet" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span><span data-if="python" style="display:none">"aborted symbol: size does not fit strict
      model definition"</span></i>:</b></dt>
<dd>
<p>

Although the deduced symbol size is a valid DotCode size, it is
not inside the range predefined by the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error correction failed'</span><span data-if="c" style="display:none">"error correction failed"</span><span data-if="cpp" style="display:none">"error correction failed"</span><span data-if="com" style="display:none">"error correction failed"</span><span data-if="dotnet" style="display:none">"error correction failed"</span><span data-if="python" style="display:none">"error correction failed"</span></i>:</b></dt>
<dd>
<p>

The error correction failed because there are too many modules
that couldn't be interpreted correctly.
Normally, this indicates that the print and/or image quality
is too bad, but it may also be provoked by a wrong mirroring
specification in the model.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: inconsistent data'</span><span data-if="c" style="display:none">"decoding failed: inconsistent data"</span><span data-if="cpp" style="display:none">"decoding failed: inconsistent data"</span><span data-if="com" style="display:none">"decoding failed: inconsistent data"</span><span data-if="dotnet" style="display:none">"decoding failed: inconsistent data"</span><span data-if="python" style="display:none">"decoding failed: inconsistent data"</span></i>:</b></dt>
<dd>
<p>

The data coded in the symbol is not consistent and therefore
cannot be read.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'unmasking: invalid mask type'</span><span data-if="c" style="display:none">"unmasking: invalid mask type"</span><span data-if="cpp" style="display:none">"unmasking: invalid mask type"</span><span data-if="com" style="display:none">"unmasking: invalid mask type"</span><span data-if="dotnet" style="display:none">"unmasking: invalid mask type"</span><span data-if="python" style="display:none">"unmasking: invalid mask type"</span></i>:</b></dt>
<dd>
<p>

The first two bits of each DotCode encoded in the data stream
of the code determine the so-called mask. The mask is used
during encoding process in order to increase graphical robustness.
Possible values are 0, 1, 2 and 3. If any other value is encoded
in the first two bits, the candidate is marked with this status.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quiet zone is missing'</span><span data-if="c" style="display:none">"quiet zone is missing"</span><span data-if="cpp" style="display:none">"quiet zone is missing"</span><span data-if="com" style="display:none">"quiet zone is missing"</span><span data-if="dotnet" style="display:none">"quiet zone is missing"</span><span data-if="python" style="display:none">"quiet zone is missing"</span></i>:</b></dt>
<dd>
<p>

The quiet zone of this candidate is missing or shows severe
defects.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding failed: invalid GS1 format'</span><span data-if="c" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="cpp" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="com" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="dotnet" style="display:none">"decoding failed: invalid GS1 format"</span><span data-if="python" style="display:none">"decoding failed: invalid GS1 format"</span></i>:</b></dt>
<dd>
<p>

The data encoded in the symbol is not conform to the GS1
General Specifications. This indicates an attempt
to read a non-GS1 symbol with a data code model created as
GS1 reader.
</p>
</dd>
</dl>
</li>
</ul>
<p>While processing a candidate, it is possible that internally several
iterations for reading the symbol are performed.
If all attempts fail, normally the last abortion state is stored in
the candidate structure.
E.g., if the QR Code model enables symbols with Model 1 and Model 2
specification, <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> tries first to interpret
the symbol as Model 2 type.
If this fails, Model 1 interpretation is performed.
If this also fails, the status variable is set to the latest failure
state of the Model 1 interpretation.
In order to get the error state of the Model 2 branch, the
<i><span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span></i> parameter of the data code model must be
restricted accordingly (with <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>).
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="DataCodeHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></b> (input_control)  </span><span>datacode_2d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDataCode2D.html">HDataCode2D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 2D data code model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CandidateHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CandidateHandle</span><span data-if="c" style="display:none">CandidateHandle</span><span data-if="cpp" style="display:none">CandidateHandle</span><span data-if="com" style="display:none">CandidateHandle</span><span data-if="dotnet" style="display:none">candidateHandle</span><span data-if="python" style="display:none">candidate_handle</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[int, str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Handle of the 2D data code candidate. Either an integer
(usually the ResultHandle of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>) or
a string representing a group of candidates.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'all_candidates'</span>
    <span data-if="c" style="display:none">"all_candidates"</span>
    <span data-if="cpp" style="display:none">"all_candidates"</span>
    <span data-if="com" style="display:none">"all_candidates"</span>
    <span data-if="dotnet" style="display:none">"all_candidates"</span>
    <span data-if="python" style="display:none">"all_candidates"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 1, 2, <span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span>, <span data-if="hdevelop" style="display:inline">'all_candidates'</span><span data-if="c" style="display:none">"all_candidates"</span><span data-if="cpp" style="display:none">"all_candidates"</span><span data-if="com" style="display:none">"all_candidates"</span><span data-if="dotnet" style="display:none">"all_candidates"</span><span data-if="python" style="display:none">"all_candidates"</span>, <span data-if="hdevelop" style="display:inline">'all_results'</span><span data-if="c" style="display:none">"all_results"</span><span data-if="cpp" style="display:none">"all_results"</span><span data-if="com" style="display:none">"all_results"</span><span data-if="dotnet" style="display:none">"all_results"</span><span data-if="python" style="display:none">"all_results"</span>, <span data-if="hdevelop" style="display:inline">'all_undecoded'</span><span data-if="c" style="display:none">"all_undecoded"</span><span data-if="cpp" style="display:none">"all_undecoded"</span><span data-if="com" style="display:none">"all_undecoded"</span><span data-if="dotnet" style="display:none">"all_undecoded"</span><span data-if="python" style="display:none">"all_undecoded"</span>, <span data-if="hdevelop" style="display:inline">'all_aborted'</span><span data-if="c" style="display:none">"all_aborted"</span><span data-if="cpp" style="display:none">"all_aborted"</span><span data-if="com" style="display:none">"all_aborted"</span><span data-if="dotnet" style="display:none">"all_aborted"</span><span data-if="python" style="display:none">"all_aborted"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ResultNames" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ResultNames</span><span data-if="c" style="display:none">ResultNames</span><span data-if="cpp" style="display:none">ResultNames</span><span data-if="com" style="display:none">ResultNames</span><span data-if="dotnet" style="display:none">resultNames</span><span data-if="python" style="display:none">result_names</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the results of the 2D data code to return.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'status'</span>
    <span data-if="c" style="display:none">"status"</span>
    <span data-if="cpp" style="display:none">"status"</span>
    <span data-if="com" style="display:none">"status"</span>
    <span data-if="dotnet" style="display:none">"status"</span>
    <span data-if="python" style="display:none">"status"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'aborted'</span><span data-if="c" style="display:none">"aborted"</span><span data-if="cpp" style="display:none">"aborted"</span><span data-if="com" style="display:none">"aborted"</span><span data-if="dotnet" style="display:none">"aborted"</span><span data-if="python" style="display:none">"aborted"</span>, <span data-if="hdevelop" style="display:inline">'aborted_num'</span><span data-if="c" style="display:none">"aborted_num"</span><span data-if="cpp" style="display:none">"aborted_num"</span><span data-if="com" style="display:none">"aborted_num"</span><span data-if="dotnet" style="display:none">"aborted_num"</span><span data-if="python" style="display:none">"aborted_num"</span>, <span data-if="hdevelop" style="display:inline">'bin_module_data'</span><span data-if="c" style="display:none">"bin_module_data"</span><span data-if="cpp" style="display:none">"bin_module_data"</span><span data-if="com" style="display:none">"bin_module_data"</span><span data-if="dotnet" style="display:none">"bin_module_data"</span><span data-if="python" style="display:none">"bin_module_data"</span>, <span data-if="hdevelop" style="display:inline">'candidate_num'</span><span data-if="c" style="display:none">"candidate_num"</span><span data-if="cpp" style="display:none">"candidate_num"</span><span data-if="com" style="display:none">"candidate_num"</span><span data-if="dotnet" style="display:none">"candidate_num"</span><span data-if="python" style="display:none">"candidate_num"</span>, <span data-if="hdevelop" style="display:inline">'codeword_num'</span><span data-if="c" style="display:none">"codeword_num"</span><span data-if="cpp" style="display:none">"codeword_num"</span><span data-if="com" style="display:none">"codeword_num"</span><span data-if="dotnet" style="display:none">"codeword_num"</span><span data-if="python" style="display:none">"codeword_num"</span>, <span data-if="hdevelop" style="display:inline">'contrast'</span><span data-if="c" style="display:none">"contrast"</span><span data-if="cpp" style="display:none">"contrast"</span><span data-if="com" style="display:none">"contrast"</span><span data-if="dotnet" style="display:none">"contrast"</span><span data-if="python" style="display:none">"contrast"</span>, <span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'corr_coded_data'</span><span data-if="c" style="display:none">"corr_coded_data"</span><span data-if="cpp" style="display:none">"corr_coded_data"</span><span data-if="com" style="display:none">"corr_coded_data"</span><span data-if="dotnet" style="display:none">"corr_coded_data"</span><span data-if="python" style="display:none">"corr_coded_data"</span>, <span data-if="hdevelop" style="display:inline">'decoded_data'</span><span data-if="c" style="display:none">"decoded_data"</span><span data-if="cpp" style="display:none">"decoded_data"</span><span data-if="com" style="display:none">"decoded_data"</span><span data-if="dotnet" style="display:none">"decoded_data"</span><span data-if="python" style="display:none">"decoded_data"</span>, <span data-if="hdevelop" style="display:inline">'decoded_data_separated'</span><span data-if="c" style="display:none">"decoded_data_separated"</span><span data-if="cpp" style="display:none">"decoded_data_separated"</span><span data-if="com" style="display:none">"decoded_data_separated"</span><span data-if="dotnet" style="display:none">"decoded_data_separated"</span><span data-if="python" style="display:none">"decoded_data_separated"</span>, <span data-if="hdevelop" style="display:inline">'decoded_string'</span><span data-if="c" style="display:none">"decoded_string"</span><span data-if="cpp" style="display:none">"decoded_string"</span><span data-if="com" style="display:none">"decoded_string"</span><span data-if="dotnet" style="display:none">"decoded_string"</span><span data-if="python" style="display:none">"decoded_string"</span>, <span data-if="hdevelop" style="display:inline">'decoded_string_separated'</span><span data-if="c" style="display:none">"decoded_string_separated"</span><span data-if="cpp" style="display:none">"decoded_string_separated"</span><span data-if="com" style="display:none">"decoded_string_separated"</span><span data-if="dotnet" style="display:none">"decoded_string_separated"</span><span data-if="python" style="display:none">"decoded_string_separated"</span>, <span data-if="hdevelop" style="display:inline">'decoding_error'</span><span data-if="c" style="display:none">"decoding_error"</span><span data-if="cpp" style="display:none">"decoding_error"</span><span data-if="com" style="display:none">"decoding_error"</span><span data-if="dotnet" style="display:none">"decoding_error"</span><span data-if="python" style="display:none">"decoding_error"</span>, <span data-if="hdevelop" style="display:inline">'error_correction_level'</span><span data-if="c" style="display:none">"error_correction_level"</span><span data-if="cpp" style="display:none">"error_correction_level"</span><span data-if="com" style="display:none">"error_correction_level"</span><span data-if="dotnet" style="display:none">"error_correction_level"</span><span data-if="python" style="display:none">"error_correction_level"</span>, <span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'format'</span><span data-if="c" style="display:none">"format"</span><span data-if="cpp" style="display:none">"format"</span><span data-if="com" style="display:none">"format"</span><span data-if="dotnet" style="display:none">"format"</span><span data-if="python" style="display:none">"format"</span>, <span data-if="hdevelop" style="display:inline">'gs1_lint_passed'</span><span data-if="c" style="display:none">"gs1_lint_passed"</span><span data-if="cpp" style="display:none">"gs1_lint_passed"</span><span data-if="com" style="display:none">"gs1_lint_passed"</span><span data-if="dotnet" style="display:none">"gs1_lint_passed"</span><span data-if="python" style="display:none">"gs1_lint_passed"</span>, <span data-if="hdevelop" style="display:inline">'gs1_lint_result'</span><span data-if="c" style="display:none">"gs1_lint_result"</span><span data-if="cpp" style="display:none">"gs1_lint_result"</span><span data-if="com" style="display:none">"gs1_lint_result"</span><span data-if="dotnet" style="display:none">"gs1_lint_result"</span><span data-if="python" style="display:none">"gs1_lint_result"</span>, <span data-if="hdevelop" style="display:inline">'handle'</span><span data-if="c" style="display:none">"handle"</span><span data-if="cpp" style="display:none">"handle"</span><span data-if="com" style="display:none">"handle"</span><span data-if="dotnet" style="display:none">"handle"</span><span data-if="python" style="display:none">"handle"</span>, <span data-if="hdevelop" style="display:inline">'layer_num'</span><span data-if="c" style="display:none">"layer_num"</span><span data-if="cpp" style="display:none">"layer_num"</span><span data-if="com" style="display:none">"layer_num"</span><span data-if="dotnet" style="display:none">"layer_num"</span><span data-if="python" style="display:none">"layer_num"</span>, <span data-if="hdevelop" style="display:inline">'macro_checksum'</span><span data-if="c" style="display:none">"macro_checksum"</span><span data-if="cpp" style="display:none">"macro_checksum"</span><span data-if="com" style="display:none">"macro_checksum"</span><span data-if="dotnet" style="display:none">"macro_checksum"</span><span data-if="python" style="display:none">"macro_checksum"</span>, <span data-if="hdevelop" style="display:inline">'macro_exist'</span><span data-if="c" style="display:none">"macro_exist"</span><span data-if="cpp" style="display:none">"macro_exist"</span><span data-if="com" style="display:none">"macro_exist"</span><span data-if="dotnet" style="display:none">"macro_exist"</span><span data-if="python" style="display:none">"macro_exist"</span>, <span data-if="hdevelop" style="display:inline">'macro_file_id'</span><span data-if="c" style="display:none">"macro_file_id"</span><span data-if="cpp" style="display:none">"macro_file_id"</span><span data-if="com" style="display:none">"macro_file_id"</span><span data-if="dotnet" style="display:none">"macro_file_id"</span><span data-if="python" style="display:none">"macro_file_id"</span>, <span data-if="hdevelop" style="display:inline">'macro_last_symbol'</span><span data-if="c" style="display:none">"macro_last_symbol"</span><span data-if="cpp" style="display:none">"macro_last_symbol"</span><span data-if="com" style="display:none">"macro_last_symbol"</span><span data-if="dotnet" style="display:none">"macro_last_symbol"</span><span data-if="python" style="display:none">"macro_last_symbol"</span>, <span data-if="hdevelop" style="display:inline">'macro_segment_count'</span><span data-if="c" style="display:none">"macro_segment_count"</span><span data-if="cpp" style="display:none">"macro_segment_count"</span><span data-if="com" style="display:none">"macro_segment_count"</span><span data-if="dotnet" style="display:none">"macro_segment_count"</span><span data-if="python" style="display:none">"macro_segment_count"</span>, <span data-if="hdevelop" style="display:inline">'macro_segment_index'</span><span data-if="c" style="display:none">"macro_segment_index"</span><span data-if="cpp" style="display:none">"macro_segment_index"</span><span data-if="com" style="display:none">"macro_segment_index"</span><span data-if="dotnet" style="display:none">"macro_segment_index"</span><span data-if="python" style="display:none">"macro_segment_index"</span>, <span data-if="hdevelop" style="display:inline">'macro_time_stamp'</span><span data-if="c" style="display:none">"macro_time_stamp"</span><span data-if="cpp" style="display:none">"macro_time_stamp"</span><span data-if="com" style="display:none">"macro_time_stamp"</span><span data-if="dotnet" style="display:none">"macro_time_stamp"</span><span data-if="python" style="display:none">"macro_time_stamp"</span>, <span data-if="hdevelop" style="display:inline">'mask_pattern_ref'</span><span data-if="c" style="display:none">"mask_pattern_ref"</span><span data-if="cpp" style="display:none">"mask_pattern_ref"</span><span data-if="com" style="display:none">"mask_pattern_ref"</span><span data-if="dotnet" style="display:none">"mask_pattern_ref"</span><span data-if="python" style="display:none">"mask_pattern_ref"</span>, <span data-if="hdevelop" style="display:inline">'max_search_level'</span><span data-if="c" style="display:none">"max_search_level"</span><span data-if="cpp" style="display:none">"max_search_level"</span><span data-if="com" style="display:none">"max_search_level"</span><span data-if="dotnet" style="display:none">"max_search_level"</span><span data-if="python" style="display:none">"max_search_level"</span>, <span data-if="hdevelop" style="display:inline">'min_search_level'</span><span data-if="c" style="display:none">"min_search_level"</span><span data-if="cpp" style="display:none">"min_search_level"</span><span data-if="com" style="display:none">"min_search_level"</span><span data-if="dotnet" style="display:none">"min_search_level"</span><span data-if="python" style="display:none">"min_search_level"</span>, <span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span>, <span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect'</span><span data-if="c" style="display:none">"module_aspect"</span><span data-if="cpp" style="display:none">"module_aspect"</span><span data-if="com" style="display:none">"module_aspect"</span><span data-if="dotnet" style="display:none">"module_aspect"</span><span data-if="python" style="display:none">"module_aspect"</span>, <span data-if="hdevelop" style="display:inline">'module_gap'</span><span data-if="c" style="display:none">"module_gap"</span><span data-if="cpp" style="display:none">"module_gap"</span><span data-if="com" style="display:none">"module_gap"</span><span data-if="dotnet" style="display:none">"module_gap"</span><span data-if="python" style="display:none">"module_gap"</span>, <span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span>, <span data-if="hdevelop" style="display:inline">'module_height'</span><span data-if="c" style="display:none">"module_height"</span><span data-if="cpp" style="display:none">"module_height"</span><span data-if="com" style="display:none">"module_height"</span><span data-if="dotnet" style="display:none">"module_height"</span><span data-if="python" style="display:none">"module_height"</span>, <span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span>, <span data-if="hdevelop" style="display:inline">'orientation'</span><span data-if="c" style="display:none">"orientation"</span><span data-if="cpp" style="display:none">"orientation"</span><span data-if="com" style="display:none">"orientation"</span><span data-if="dotnet" style="display:none">"orientation"</span><span data-if="python" style="display:none">"orientation"</span>, <span data-if="hdevelop" style="display:inline">'pass'</span><span data-if="c" style="display:none">"pass"</span><span data-if="cpp" style="display:none">"pass"</span><span data-if="com" style="display:none">"pass"</span><span data-if="dotnet" style="display:none">"pass"</span><span data-if="python" style="display:none">"pass"</span>, <span data-if="hdevelop" style="display:inline">'pass_num'</span><span data-if="c" style="display:none">"pass_num"</span><span data-if="cpp" style="display:none">"pass_num"</span><span data-if="com" style="display:none">"pass_num"</span><span data-if="dotnet" style="display:none">"pass_num"</span><span data-if="python" style="display:none">"pass_num"</span>, <span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span>, <span data-if="hdevelop" style="display:inline">'process_level'</span><span data-if="c" style="display:none">"process_level"</span><span data-if="cpp" style="display:none">"process_level"</span><span data-if="com" style="display:none">"process_level"</span><span data-if="dotnet" style="display:none">"process_level"</span><span data-if="python" style="display:none">"process_level"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_cols'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_cols"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_cols"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate_labels'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_intermediate_values'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_intermediate_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_labels'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_labels"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_reflectance_margin_module_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_rows'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_rows"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_rows"</span>, <span data-if="hdevelop" style="display:inline">'quality_aimdpm_1_2006_values'</span><span data-if="c" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="cpp" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="com" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="dotnet" style="display:none">"quality_aimdpm_1_2006_values"</span><span data-if="python" style="display:none">"quality_aimdpm_1_2006_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415'</span><span data-if="c" style="display:none">"quality_isoiec15415"</span><span data-if="cpp" style="display:none">"quality_isoiec15415"</span><span data-if="com" style="display:none">"quality_isoiec15415"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415"</span><span data-if="python" style="display:none">"quality_isoiec15415"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_additional_reflectance_check'</span><span data-if="c" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="com" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span><span data-if="python" style="display:none">"quality_isoiec15415_additional_reflectance_check"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_cols'</span><span data-if="c" style="display:none">"quality_isoiec15415_cols"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_cols"</span><span data-if="com" style="display:none">"quality_isoiec15415_cols"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_cols"</span><span data-if="python" style="display:none">"quality_isoiec15415_cols"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_float_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate_labels'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate_labels"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_intermediate_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_intermediate_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_intermediate_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_labels'</span><span data-if="c" style="display:none">"quality_isoiec15415_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_labels"</span><span data-if="com" style="display:none">"quality_isoiec15415_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_labels"</span><span data-if="python" style="display:none">"quality_isoiec15415_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_margin_module_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_rows'</span><span data-if="c" style="display:none">"quality_isoiec15415_rows"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_rows"</span><span data-if="com" style="display:none">"quality_isoiec15415_rows"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_rows"</span><span data-if="python" style="display:none">"quality_isoiec15415_rows"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_values'</span><span data-if="c" style="display:none">"quality_isoiec15415_values"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_values"</span><span data-if="com" style="display:none">"quality_isoiec15415_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_values"</span><span data-if="python" style="display:none">"quality_isoiec15415_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158'</span><span data-if="c" style="display:none">"quality_isoiec29158"</span><span data-if="cpp" style="display:none">"quality_isoiec29158"</span><span data-if="com" style="display:none">"quality_isoiec29158"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158"</span><span data-if="python" style="display:none">"quality_isoiec29158"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_cols'</span><span data-if="c" style="display:none">"quality_isoiec29158_cols"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_cols"</span><span data-if="com" style="display:none">"quality_isoiec29158_cols"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_cols"</span><span data-if="python" style="display:none">"quality_isoiec29158_cols"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_float_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate_labels'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate_labels"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_intermediate_values'</span><span data-if="c" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="com" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_intermediate_values"</span><span data-if="python" style="display:none">"quality_isoiec29158_intermediate_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_labels'</span><span data-if="c" style="display:none">"quality_isoiec29158_labels"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_labels"</span><span data-if="com" style="display:none">"quality_isoiec29158_labels"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_labels"</span><span data-if="python" style="display:none">"quality_isoiec29158_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_float_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_float_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_reflectance_margin_module_grades'</span><span data-if="c" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="com" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span><span data-if="python" style="display:none">"quality_isoiec29158_reflectance_margin_module_grades"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_rows'</span><span data-if="c" style="display:none">"quality_isoiec29158_rows"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_rows"</span><span data-if="com" style="display:none">"quality_isoiec29158_rows"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_rows"</span><span data-if="python" style="display:none">"quality_isoiec29158_rows"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec29158_values'</span><span data-if="c" style="display:none">"quality_isoiec29158_values"</span><span data-if="cpp" style="display:none">"quality_isoiec29158_values"</span><span data-if="com" style="display:none">"quality_isoiec29158_values"</span><span data-if="dotnet" style="display:none">"quality_isoiec29158_values"</span><span data-if="python" style="display:none">"quality_isoiec29158_values"</span>, <span data-if="hdevelop" style="display:inline">'quality_semi_t10_labels'</span><span data-if="c" style="display:none">"quality_semi_t10_labels"</span><span data-if="cpp" style="display:none">"quality_semi_t10_labels"</span><span data-if="com" style="display:none">"quality_semi_t10_labels"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_labels"</span><span data-if="python" style="display:none">"quality_semi_t10_labels"</span>, <span data-if="hdevelop" style="display:inline">'quality_semi_t10_values'</span><span data-if="c" style="display:none">"quality_semi_t10_values"</span><span data-if="cpp" style="display:none">"quality_semi_t10_values"</span><span data-if="com" style="display:none">"quality_semi_t10_values"</span><span data-if="dotnet" style="display:none">"quality_semi_t10_values"</span><span data-if="python" style="display:none">"quality_semi_t10_values"</span>, <span data-if="hdevelop" style="display:inline">'raw_coded_data'</span><span data-if="c" style="display:none">"raw_coded_data"</span><span data-if="cpp" style="display:none">"raw_coded_data"</span><span data-if="com" style="display:none">"raw_coded_data"</span><span data-if="dotnet" style="display:none">"raw_coded_data"</span><span data-if="python" style="display:none">"raw_coded_data"</span>, <span data-if="hdevelop" style="display:inline">'reader_programming'</span><span data-if="c" style="display:none">"reader_programming"</span><span data-if="cpp" style="display:none">"reader_programming"</span><span data-if="com" style="display:none">"reader_programming"</span><span data-if="dotnet" style="display:none">"reader_programming"</span><span data-if="python" style="display:none">"reader_programming"</span>, <span data-if="hdevelop" style="display:inline">'reader_programming_separated'</span><span data-if="c" style="display:none">"reader_programming_separated"</span><span data-if="cpp" style="display:none">"reader_programming_separated"</span><span data-if="com" style="display:none">"reader_programming_separated"</span><span data-if="dotnet" style="display:none">"reader_programming_separated"</span><span data-if="python" style="display:none">"reader_programming_separated"</span>, <span data-if="hdevelop" style="display:inline">'result_num'</span><span data-if="c" style="display:none">"result_num"</span><span data-if="cpp" style="display:none">"result_num"</span><span data-if="com" style="display:none">"result_num"</span><span data-if="dotnet" style="display:none">"result_num"</span><span data-if="python" style="display:none">"result_num"</span>, <span data-if="hdevelop" style="display:inline">'search_level'</span><span data-if="c" style="display:none">"search_level"</span><span data-if="cpp" style="display:none">"search_level"</span><span data-if="com" style="display:none">"search_level"</span><span data-if="dotnet" style="display:none">"search_level"</span><span data-if="python" style="display:none">"search_level"</span>, <span data-if="hdevelop" style="display:inline">'segment_num'</span><span data-if="c" style="display:none">"segment_num"</span><span data-if="cpp" style="display:none">"segment_num"</span><span data-if="com" style="display:none">"segment_num"</span><span data-if="dotnet" style="display:none">"segment_num"</span><span data-if="python" style="display:none">"segment_num"</span>, <span data-if="hdevelop" style="display:inline">'slant'</span><span data-if="c" style="display:none">"slant"</span><span data-if="cpp" style="display:none">"slant"</span><span data-if="com" style="display:none">"slant"</span><span data-if="dotnet" style="display:none">"slant"</span><span data-if="python" style="display:none">"slant"</span>, <span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span>, <span data-if="hdevelop" style="display:inline">'status'</span><span data-if="c" style="display:none">"status"</span><span data-if="cpp" style="display:none">"status"</span><span data-if="com" style="display:none">"status"</span><span data-if="dotnet" style="display:none">"status"</span><span data-if="python" style="display:none">"status"</span>, <span data-if="hdevelop" style="display:inline">'structured_append'</span><span data-if="c" style="display:none">"structured_append"</span><span data-if="cpp" style="display:none">"structured_append"</span><span data-if="com" style="display:none">"structured_append"</span><span data-if="dotnet" style="display:none">"structured_append"</span><span data-if="python" style="display:none">"structured_append"</span>, <span data-if="hdevelop" style="display:inline">'structured_append_separated'</span><span data-if="c" style="display:none">"structured_append_separated"</span><span data-if="cpp" style="display:none">"structured_append_separated"</span><span data-if="com" style="display:none">"structured_append_separated"</span><span data-if="dotnet" style="display:none">"structured_append_separated"</span><span data-if="python" style="display:none">"structured_append_separated"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span>, <span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span>, <span data-if="hdevelop" style="display:inline">'symbology_ident_separated'</span><span data-if="c" style="display:none">"symbology_ident_separated"</span><span data-if="cpp" style="display:none">"symbology_ident_separated"</span><span data-if="com" style="display:none">"symbology_ident_separated"</span><span data-if="dotnet" style="display:none">"symbology_ident_separated"</span><span data-if="python" style="display:none">"symbology_ident_separated"</span>, <span data-if="hdevelop" style="display:inline">'undecoded_num'</span><span data-if="c" style="display:none">"undecoded_num"</span><span data-if="cpp" style="display:none">"undecoded_num"</span><span data-if="com" style="display:none">"undecoded_num"</span><span data-if="dotnet" style="display:none">"undecoded_num"</span><span data-if="python" style="display:none">"undecoded_num"</span>, <span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ResultValues" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ResultValues</span><span data-if="c" style="display:none">ResultValues</span><span data-if="cpp" style="display:none">ResultValues</span><span data-if="com" style="display:none">ResultValues</span><span data-if="dotnet" style="display:none">resultValues</span><span data-if="python" style="display:none">result_values</span></code></b> (output_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">real)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">double)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">double)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">double)</span></span>
</div>
<p class="pardesc">List with the results.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
* Example demonstrating how to access the results of the data code search.

* Create a model for reading Data matrix ECC 200 codes
create_data_code_2d_model ('Data Matrix ECC 200', [], [], DataCodeHandle)
* Read an image
read_image (Image, 'datacode/ecc200/ecc200_cpu_010')
* Read the symbol in the image
find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], \
                   ResultHandles, DecodedDataStrings)

* Get the number of passes
get_data_code_2d_results (DataCodeHandle, 'general', 'pass_num', Passes)

* Get a tuple with the status of all candidates
get_data_code_2d_results (DataCodeHandle, 'all_candidates', 'status', \
                          AllStatus)
* Get the handles of all candidates that were detected as a symbol but
* could not be read
get_data_code_2d_results (DataCodeHandle, 'all_undecoded', 'handle', \
                          HandlesUndecoded)

* For every undecoded symbol, get the contour, the symbol size, and
* the binary module data
dev_set_color ('red')
for i := 0 to |HandlesUndecoded| - 1 by 1
    * Get the contour of the symbol
    get_data_code_2d_objects (SymbolXLD, DataCodeHandle, \
                              HandlesUndecoded[i], 'candidate_xld')
    * Get the symbol size
    get_data_code_2d_results (DataCodeHandle, HandlesUndecoded[i], \
                              ['symbol_rows','symbol_cols'], SymbolSize)
    * Get the binary module data (has to be queried exclusively)
    get_data_code_2d_results (DataCodeHandle, HandlesUndecoded[i], \
                              'bin_module_data', BinModuleData)
    * Stop for inspecting the data
    stop ()
endfor

* Clear the model
clear_data_code_2d_model (DataCodeHandle)
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    
if the given parameters are correct and the requested results are
available for the last symbol search.
Otherwise, an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="find_data_code_2d.html"><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></a></code>, 
<code><a href="query_data_code_2d_params.html"><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_data_code_2d_objects.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_objects</span><span data-if="c" style="display:none">get_data_code_2d_objects</span><span data-if="cpp" style="display:none">GetDataCode2dObjects</span><span data-if="com" style="display:none">GetDataCode2dObjects</span><span data-if="dotnet" style="display:none">GetDataCode2dObjects</span><span data-if="python" style="display:none">get_data_code_2d_objects</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="query_data_code_2d_params.html"><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></a></code>, 
<code><a href="get_data_code_2d_objects.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_objects</span><span data-if="c" style="display:none">get_data_code_2d_objects</span><span data-if="cpp" style="display:none">GetDataCode2dObjects</span><span data-if="com" style="display:none">GetDataCode2dObjects</span><span data-if="dotnet" style="display:none">GetDataCode2dObjects</span><span data-if="python" style="display:none">get_data_code_2d_objects</span></a></code>, 
<code><a href="get_data_code_2d_param.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_param</span><span data-if="c" style="display:none">get_data_code_2d_param</span><span data-if="cpp" style="display:none">GetDataCode2dParam</span><span data-if="com" style="display:none">GetDataCode2dParam</span><span data-if="dotnet" style="display:none">GetDataCode2dParam</span><span data-if="python" style="display:none">get_data_code_2d_param</span></a></code>, 
<code><a href="set_data_code_2d_param.html"><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></a></code>
</p>
<h2 id="sec_references">References</h2>
<p>

AIM Global Document: AIM DPM-1-2006: “Direct Part Mark (DPM) Quality Guideline”;
Document Type: AIM Bar Code Guideline;
Document Version: 1.0, 2006-12-12.<br>

<br>
International Standard ISO/IEC 15415: “Information technology -
Automatic identification and data capture techniques -
Bar code symbol print quality test specification - Two-dimensional symbols”;
Reference number ISO/IEC 15415:2011 (E);
ISO/IEC 2011.<br>

<br>
International Standard ISO/IEC 16022: “Information technology -
Automatic identification and data capture techniques -
Data Matrix bar code symbology specification”;
Reference number ISO/IEC 16022:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 15438: “Information technology -
Automatic identification and data capture techniques -
PDF417 bar code symbology specification”;
Reference number ISO/IEC 15438:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 18004: “Information technology -
Automatic identification and data capture techniques -
QR Code 2005 bar code symbology specification”;
Reference number ISO/IEC 18004:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 24778: “Information technology -
Automatic identification and data capture techniques -
Aztec Code bar code symbology specification”;
Reference number ISO/IEC 24778:2008 (E);
ISO/IEC 2008.<br>

<br>
Technical Report ISO/IEC TR 29158: “Information technology -
Automatic identification and data capture techniques -
Direct Part Mark (DPM) Quality Guideline”;
Reference number ISO/IEC TR 29158:2011 (E);
ISO/IEC 2011.<br>

<br>
GS1 General Specifications; Version 12; Issue 1, Jan-2012; GS1.
<br>

</p>
<h2 id="sec_module">模块</h2>
<p>
Data Code</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
